bg-tutorials

如何在 IIS 10 及其他版本上安装 SSL 证书

本指南将向您展示如何在 Windows Server 上的 Microsoft IIS(Internet Information Services)中安装 SSL 证书。它涵盖了证书到达 IIS 的两种方式:通过 .cer.p7b 文件完成待处理的请求,以及导入已包含私钥的 .pfx 文件。同时还包括 PowerShell 方法以及真正使证书生效的绑定步骤。

生成 CSR 代码

在安装证书之前,您需要一个 CSR(证书签名请求)及其对应的私钥。您有两个选择:

  • 使用我们的 CSR 生成器自动生成 CSR。如果以这种方式在 IIS 之外创建 CSR,私钥也会在 IIS 之外生成,因此您稍后需要将签发的证书与私钥合并为一个 .pfx 文件。请参阅如何在 IIS 中导入和导出 PFX 文件
  • 按照我们关于如何在 IIS 上生成 CSR的教程,在服务器本身生成 CSR。私钥将保留在服务器上,CA 会返回一个 .cer.p7b 文件,您需要在 IIS 中完成该请求。

在订购过程中将 CSR 提交给证书颁发机构。CA 验证并签发证书后,请继续进行以下安装步骤。

安装前准备:您拥有哪种文件?

安装路径取决于 CSR 的生成方式。请先确定您的情况,然后使用对应的方法:

  • 您在 IIS 中生成了 CSR,并且 CA 返回了 .cer.p7b 文件。私钥已作为待处理请求存在于此服务器上,因此您需要使用完成证书请求(下方选项 1)。
  • 您在其他地方生成了 CSR(OpenSSL、cPanel、CSR 生成器或其他服务器),并且您拥有一个将证书及其私钥打包在一起的 .pfx 文件。您需要使用导入(下方选项 2)。

这一区别很重要,因为没有私钥的证书虽然会安装到服务器证书中,但不会出现在绑定下拉菜单中,因此无法提供 HTTPS 服务。

在 IIS 10 / IIS 8 / IIS 8.5(Windows Server 2012-2025)上安装 SSL 证书

IIS 8 及更高版本共享相同的管理界面和流程。如果您运行的是 Windows Server 2012、2012 R2、2016、2019、2022 或 2025,本节适用于您。

选项 1:您在 IIS 中创建了 CSR(.cer 或 .p7b 文件)

步骤 1:保存证书文件

下载 CA 签发的证书文件(通常为 .cer.p7b),并将其保存到服务器上,例如保存到桌面或您可以浏览到的任何文件夹。

步骤 2:打开 IIS 管理器

通过以下任一方式打开 IIS 管理器:

  • Win + R,输入 inetmgr,然后按回车键,或者
  • 依次进入开始 > Windows 管理工具 > Internet Information Services (IIS) 管理器

步骤 3:完成证书请求

  • 在左侧的连接面板中,选择您的服务器名称。
  • 在中间面板中,双击服务器证书
  • 在右侧的操作面板中,点击完成证书请求

在打开的对话框中:

  • 文件名:浏览并选择您的 .cer.p7b 文件。
  • 友好名称:输入一个便于日后识别证书的标签,例如 yourdomain.com 2026。友好名称只是一个标签,不必与域名一致。
  • 证书存储:选择个人。如果您需要在多个站点上管理多个证书,也可以选择Web 托管
  • 点击确定

如果您看到错误提示找不到与此证书文件关联的证书请求,说明该证书与此服务器上任何待处理的 CSR 都不匹配。这通常意味着该 CSR 是在其他地方生成的。请跳过此选项,改用选项 2 中的 .pfx 导入方式。

步骤 4:将证书绑定到您的站点

完成请求会存储证书,但只有通过绑定将其附加到站点后,IIS 才会提供该证书服务:

  • 连接面板中,展开网站
  • 选择您的网站(例如Default Web Site)。
  • 操作面板中,点击绑定
  • 网站绑定窗口中,点击添加

配置绑定:

  • 类型:https
  • IP 地址:全部未分配,或指定的 IP
  • 端口:443
  • 主机名:您的域名(例如 www.example.com
  • 如果您在同一 IP 和端口上托管多个 HTTPS 站点,请勾选需要服务器名称指示。SNI 允许每个主机名呈现自己的证书。
  • SSL 证书:选择您刚刚添加的友好名称。

点击确定,然后关闭绑定窗口。IIS 会立即开始提供 HTTPS 服务;无需重启服务器。

选项 2:您拥有 .pfx 文件(CSR 在 IIS 之外创建)

如果证书来自其他工具或服务器,请导入 .pfx 文件,该文件同时包含证书及其私钥。

步骤 1:导入证书

  • 打开 IIS 管理器,选择您的服务器名称,然后双击服务器证书
  • 操作面板中,点击导入
  • 浏览到您的 .pfx 文件,并输入导出该文件时设置的密码。
  • 选择个人证书存储(或Web 托管),然后点击确定

步骤 2:将证书绑定到您的站点

这与选项 1 中的绑定步骤相同:

  • 连接中,展开网站并选择您的网站。
  • 操作面板中,点击绑定,然后点击添加
  • 类型设置为 https,端口设置为 443,根据需要设置 IP 地址主机名,如果您在一个 IP 上运行多个 HTTPS 站点,请勾选需要服务器名称指示
  • SSL 证书下,选择您刚刚导入的证书,然后点击确定并关闭。

您的站点现在已通过 HTTPS 上线运行。无需重启。

中间证书(可选但推荐)

Windows 通常会自动从其系统存储中构建证书链。如果有客户端报告证书链不完整(例如,证书在桌面浏览器中可以正常工作,但在移动设备或 API 调用中失败),请手动安装中间证书:

  • Win + R,输入 mmc,然后按回车键。
  • 依次进入文件 > 添加/删除管理单元 > 证书 > 添加
  • 选择计算机帐户 > 下一步 > 完成 > 确定
  • 展开中间证书颁发机构 > 证书
  • 右键点击证书,选择所有任务 > 导入,然后导入 CA 提供的中间 .crt.p7b 文件。

使用 PowerShell 安装(适用于任何现代 IIS)

如果您需要自动化部署或更喜欢使用命令行,可以通过提升权限的 PowerShell 会话导入 .pfx 并创建绑定。请以管理员身份在服务器上运行 PowerShell。

首先,将 .pfx 导入本地计算机的个人存储,并获取其指纹:

$pfxPath = "C:certsyourdomain.pfx"
$pfxPass = Read-Host "PFX password" -AsSecureString
$cert = Import-PfxCertificate -FilePath $pfxPath -CertStoreLocation Cert:LocalMachineMy -Password $pfxPass
$cert.Thumbprint

接下来,加载 IIS 模块,在端口 443 上添加 https 绑定,并通过指纹附加证书:

Import-Module WebAdministration

New-WebBinding -Name "Default Web Site" -Protocol https -Port 443 -HostHeader "www.example.com" -SslFlags 1

$binding = Get-WebBinding -Name "Default Web Site" -Protocol https
$binding.AddSslCertificate($cert.Thumbprint, "My")

Default Web Site 替换为您的站点名称,将 www.example.com 替换为您的主机名。-SslFlags 1 值用于启用 SNI;如果您使用单证书、基于 IP 的绑定,可以省略此参数(以及 -HostHeader)。存储名称 My 就是您上面导入证书所用的个人存储。要验证结果,可以使用 Get-WebBinding 列出绑定,或使用 netsh http show sslcert 检查 HTTP.sys 层。

在 IIS 7(Windows Server 2008 / 2008 R2)上安装 SSL 证书

核心步骤与 IIS 8 和 10 相同,但界面较旧。Windows Server 2008 和 2008 R2 已经过了支持期限,因此请尽快将这些工作负载迁移到受支持的 Windows Server 版本。在 IIS 7 上安装的方法如下:

  • 打开 IIS 管理器,选择服务器名称,双击服务器证书,然后点击完成证书请求(若为 .pfx 文件则点击导入)。
  • 如果完成请求时似乎失败了,请在服务器证书屏幕上按 F5 刷新;证书往往已经安装成功,只是提示信息有误。
  • 如果仍然失败,请改为导入 .pfx,方法同上方选项 2。
  • 以相同方式绑定证书:网站 > 您的网站 > 绑定 > 添加,类型选择 https,端口为 443,然后选择证书。

在 IIS 5 和 6 上安装 SSL 证书(已弃用)

IIS 5 和 6 早已过了支持期限,不应用于运行公开站点。仅当您正在维护尚无法替换的旧基础设施时,才使用本节内容:

  • 依次进入开始 > 管理工具 > Internet Information Services (IIS) 管理器
  • 右键点击您的站点,选择属性,然后打开目录安全性选项卡。
  • 点击服务器证书以启动 Web 服务器证书向导。
  • 选择处理挂起的请求并安装证书
  • 找到您的 .cer 文件并完成向导。
  • 重启站点以启用 HTTPS。

如果中间证书不受信任,请按上述方法通过 MMC 手动导入它们。

测试 SSL 安装

安装完成后,请扫描证书以确认其已正确提供服务且证书链完整。通过 https:// 打开您的站点并检查锁形图标,然后使用我们的 SSL 检测工具 进行更深入的检查,即可立即获得关于证书、证书链和协议支持情况的报告。

常见问题解答

IIS 上的 SSL 证书在哪里?

依次进入开始 > Windows 管理工具 > Internet Information Services (IIS) 管理器以打开 IIS 管理器。在连接面板中选择服务器名称,然后双击服务器证书即可列出服务器上安装的所有证书。

如何在 IIS 上更新或续订 SSL 证书?

续订证书意味着签发并安装一个新证书。生成新的 CSR,订购续订,然后在服务器证书中完成请求或导入新的 .pfx 文件。在站点的绑定中,编辑 https 绑定并选择新证书。目前公共 SSL/TLS 证书的最长有效期约为一年(398 天),因此请计划每年重复此过程,或使用 ACME 自动续订。

为什么我的证书没有出现在 IIS 绑定下拉菜单中?

最常见的原因是缺少私钥。如果您使用与此服务器上任何待处理 CSR 都不匹配的文件完成证书请求,IIS 会导入没有私钥的证书,因此它会出现在服务器证书中,但不会出现在绑定下拉菜单中。请改为导入包含私钥的 .pfx 文件,然后进行绑定。

IIS 中的”完成证书请求”和”导入”有什么区别?

完成证书请求用于完成在此服务器上生成的 CSR:它将签发的 .cer.p7b 文件与已作为待处理请求存在的私钥配对。导入用于引入已将证书及其私钥打包在一起的 .pfx 文件,这是当 CSR 在其他地方生成时应使用的方式。

安装证书后是否需要重启 IIS?

不需要。一旦添加 https 绑定并选择证书,IIS 会立即提供 HTTPS 服务。只有在已弃用的 IIS 5 和 6 工作流程中才需要重启。

立即订购 SSL 证书, 可节省 10% 的费用!

快速发行, 强大加密, 99.99% 的浏览器信任度, 专业支持和 25 天退款保证. 优惠券代码 SAVE10

龙飞行的详细图像
撰写人

经验丰富的内容撰稿人, 擅长 SSL 证书. 将复杂的网络安全主题转化为清晰, 引人入胜的内容. 通过有影响力的叙述, 为提高数字安全作出贡献.