如何在 IIS (Windows Server) 上安装 SSL 证书
本指南介绍如何在 Windows Server 上运行的 IIS(Internet 信息服务)Web 服务器上颁发和安装 SSL 证书。
内容:
要从外部证书颁发机构 (CA) 创建 SSL/TLS 证书,您需要生成证书签名请求(企业社会责任)。您可以从 IIS GUI 中创建 CSR:
-
- 打开 Internet 信息服务管理器控制台 (
InetMgr.exe); - 选择您的 Windows 主机并转至服务器证书部分;

- 从右侧的“操作”菜单中,选择创建证书请求;
- 填写证书信息=:
- 通用名– 指定您的客户端将连接到的站点(网络服务器)的 FQDN。例如:
reports.woshub.com。如果您想为域创建通配符证书,请输入*.woshub.com - 组织– 指定您的组织的名称。对于组织验证 (OV) 和扩展验证 (EV) 证书,请输入官方组织名称。个人可以使用域验证 (DV) SSL 证书。在这种情况下,您必须提供证书所有者的全名;
- 组织单位– 您组织内负责证书的部门的内部名称;
- 城市/地区
- 州/省
- 国家/地区– 两个字母的国家代码。


- 通用名– 指定您的客户端将连接到的站点(网络服务器)的 FQDN。例如:
- 选择加密服务提供商和密钥长度。我们建议使用Microsoft RSA SChannel 加密提供程序密钥长度至少为2048 位;


- 指定保存CSR请求的文件名;
- 您应该得到一个以以下内容开头的文本文件
BEGIN NEW CERTIFICATE REQUEST并以END NEW CERTIFICATE REQUEST线。

- 打开 Internet 信息服务管理器控制台 (
将您的 CSR 文件提交给有权颁发 SSL 证书的组织。如果您使用的是基于 Microsoft 的内部证书颁发机构,请上传 CSR、签署证书,然后下载 CER 文件。


如何在 Windows IIS 中安装 SSL/TLS 证书
从 CA 收到 SST/TLS 证书文件 (*.CER) 后,您可以继续将其安装在 IIS 中。
打开 IIS 管理器控制台,转到“证书”部分,然后选择完成证书请求。


请注意,本文介绍了如何安装从 Microsoft 收到的 *.CER 格式的 DER/base64 编码 X.509 证书。如果您已获得证书*.CRT如果您的证书颁发机构提供了该格式,您将无法将其导入并安装在 IIS 中。
您需要做的是将 CRT 证书转换为 PFX 格式。最简单的方法是使用开放式SSL工具,可在任何 Linux 发行版中使用。您将需要证书 (*.crt) 和私钥 (*.key) 文件。要进行转换,请运行以下命令。
$ openssl pkcs12 -export -out target.pfx -inkey source.key -in source.crt
获得 PFX 格式的证书后,您可以通过“导入”菜单将其导入。如果您有 PFX 格式的证书文件,您可以通过以下方式将其上传到您的 Windows 证书存储区:进口菜单。
推荐阅读:使用 Zabbix 监控网站 SSL/TLS 证书过期
您还可以直接从 Windows 进行 CRT 证书转换:
- 双击您的 CRT 文件;
- 前往细节选项卡并单击复制到文件;


- 选择Base-64 编码的 X.509(.CER);

</li> - 指定 CER 证书文件的保存路径。
选择包含您从证书颁发机构收到的 SSL 证书的 *.crt 文件。指定 SSL 证书的友好名称以及要放置证书的证书存储(个人或虚拟主机)。

完成后,新的 SSL 证书应出现在 IIS 中的可用证书列表中。
将 SSL 证书绑定到 IIS 网站
现在您需要将证书绑定到 IIS 网站、端口和/或 IP 地址。在 IIS 控制台中找到您的网站,然后选择编辑绑定。


点击添加并填写以下信息:
- 类型:
https - IP地址:选择
All Unassigned或绑定 SSL 证书的特定 IP 地址(您可以在 IIS Web 服务器的同一端口和 IP 地址上运行多个网站) - 端口号:
443 - 主机名:指定为其颁发证书的主机的名称
- SSL 证书:从列表中查找并选择您安装的 SSL 证书


此时,您还可以为 IIS 网站启用 HTTP/3 和 QUIC 支持。
现在重新启动 IIS 网站(选择管理网站 -> 重新启动或使用iisreset命令)。


尝试使用浏览器在浏览器中打开 IIS 网站https://前缀。如果证书安装正确,浏览器地址栏中将出现一个绿色的挂锁。这意味着连接是安全的。单击挂锁图标可查看有关 SSL 证书的信息。


接下来,配置 IIS 规则,将所有对站点的 HTTP 请求重定向到 HTTPS URL 地址。
对于 Windows Server 上的 IIS 站点,您可以使用免费的 Let's Encrypt SSL 证书。
