IIS部署证书的方法:Windows Server IIS HTTPS配置与证书绑定

更新时间:2026-02-06 来源:TopSSL技术团队

在 IIS 服务器上部署 SSL 证书,核心并不复杂:先准备包含私钥的 PFX/P12 证书,将证书导入 Windows 服务器,再把证书绑定到 IIS 网站的 HTTPS 443 端口。

如果一台服务器上部署了多个 HTTPS 网站,还需要根据实际情况配置 SNI。证书绑定完成后,先直接访问 https://域名 确认 HTTPS 正常,再配置 HTTP 到 HTTPS 的 301 跳转。

下面按照实际部署顺序说明 IIS 部署证书的方法。

一、IIS部署SSL证书前需要准备什么?

IIS 与 Nginx、Apache 的证书部署方式不太一样。

Linux 服务器上经常使用 .crt.pem.key 文件分别配置证书和私钥,而 IIS 更适合使用 PFX 或 P12 格式的证书文件。PFX 文件可以把服务器证书和私钥封装在一起,导入 Windows 证书库后,IIS 就可以直接调用。

因此,在开始部署之前,先确认手里的证书文件。

如果 CA 签发完成后直接下载证书,可以选择 IISPFX 格式,一般会得到:

  • .pfx.p12:证书及私钥文件
  • PFX 文件密码:导入 IIS 时需要使用

如果目前只有:

example.com.crt
example.com.key

则需要先将证书和私钥转换为 PFX。

如果对 SSL 证书的类型、格式以及不同服务器环境还不熟悉,可以先查看 SSL证书类型怎么分?SSL证书安装与部署

有一点需要特别注意:**PFX 文件是否包含完整证书链,取决于生成或导出时的设置。**不要因为 PFX 能成功导入 IIS,就认为证书链一定完整。部署完成后仍然需要检查中间证书。

二、把PFX证书导入Windows服务器

准备好 PFX 文件以后,先不要急着配置网站绑定,第一步是把证书导入 Windows 服务器。

1. 打开 IIS 管理器

登录 Windows Server,按:

Win + R

输入:

inetmgr

回车打开 IIS 管理器。

如果服务器没有安装 IIS,这里不会出现 IIS 管理器,需要先通过“服务器管理器”安装 Web Server(IIS)角色。

2. 打开“服务器证书”

在 IIS 管理器左侧找到服务器名称,点击最顶层的服务器节点。

然后在中间的“功能视图”中找到:

服务器证书(Server Certificates)

双击进入。

3. 导入PFX证书

在右侧“操作”区域点击:

导入...

然后填写:

  • 证书文件​:选择 .pfx 文件
  • 密码​:填写 PFX 文件对应密码
  • 证书存储​:选择“个人”

如果导入成功,证书列表中会显示证书的相关信息,包括颁发者、到期时间等。

这里建议顺便确认一下证书的域名。比如网站实际访问地址是:

www.example.com

那么证书的 SAN(Subject Alternative Name)中至少应该包含:

www.example.com

否则即使 IIS 绑定成功,浏览器访问时仍然会出现域名不匹配。

PFX导入失败怎么办?

如果确定密码没有输错,但 IIS 仍然提示密码错误、无法导入或无法解析 PFX,不一定真的是密码问题。

比较常见的情况是:PFX 使用了当前 Windows Server 不兼容的加密方式生成。

尤其是在旧版 Windows Server 环境中,从较新的 OpenSSL 版本导出的 PFX 可能出现兼容性问题。

这时候可以重新导出一个兼容旧系统的 PFX,例如采用 Legacy 模式或兼容性更高的加密算法,再重新导入。

三、在IIS中绑定SSL证书

证书进入 Windows 证书库以后,下一步才是让具体网站使用这张证书。

在 IIS 管理器左侧展开:

网站 → 找到目标网站

右键网站,选择:

编辑绑定...

在“网站绑定”窗口点击:

添加...

然后按照下面的方式填写。

配置项设置
类型https
IP 地址全部未分配,或指定服务器 IP
端口443
主机名网站实际访问域名
SSL 证书选择刚才导入的证书

例如网站是:

www.example.com

那么可以配置为:

类型:HTTPS
IP地址:全部未分配
端口:443
主机名:www.example.com
SSL证书:选择对应证书

保存以后,这个 IIS 网站就建立了 HTTPS 绑定。

四、IIS绑定证书时,SNI到底要不要勾?

这是 IIS 部署 SSL 证书时比较容易遇到的一个问题。

SNI(Server Name Indication)主要解决一台服务器、同一个 IP 上部署多个 HTTPS 网站时的证书选择问题。

例如同一台 Windows Server 上同时运行:

www.example.com
www.example.net
shop.example.org

三个网站共用一个公网 IP。

这时候建议在 IIS 的 HTTPS 绑定中勾选:

需要服务器名称指示(SNI)

并分别填写对应的主机名。

例如:

站点A → www.example.com → 443 → SNI
站点B → www.example.net → 443 → SNI
站点C → shop.example.org → 443 → SNI

浏览器通过 HTTPS 连接服务器时,会在 TLS 握手阶段带上目标域名,IIS 再根据 SNI 找到对应的网站和证书。

什么情况下不需要SNI?

如果服务器只有一个 HTTPS 网站,而且一个 IP 只对应这一套 HTTPS 服务,SNI 并不是必须的。

所以不要把“部署 IIS 证书”简单理解成“必须勾 SNI”。

真正的判断标准是:同一个 IP 是否需要承载多个 HTTPS 站点。

五、证书绑定后,先直接测试HTTPS

证书绑定完成后,建议先做一件事:

直接访问 HTTPS,不要马上配置 301。

例如:

https://www.example.com

先确认网站本身能不能正常打开。

如果 HTTPS 正常,再考虑 HTTP → HTTPS 跳转。

这样排错会简单很多。

如果一上来就配置 301,一旦访问出现问题,很容易把“证书错误”“443 端口未开放”“跳转规则错误”混在一起。

重点检查这几个地方

第一,证书是不是正确的那一张。

打开浏览器证书详情,检查:

  • 域名是否匹配
  • SAN 是否包含当前域名
  • 证书是否过期
  • 颁发机构是否正确

第二,443端口是否开放。

Windows 防火墙以及云服务器安全组都需要允许 TCP 443。

如果服务器本机访问:

https://localhost

能够正常连接,但公网无法访问,需要重点检查防火墙、安全组、负载均衡或 CDN。

第三,证书链是否完整。

如果部分浏览器可以访问,某些手机、客户端或者老系统却提示证书不受信任,应该重点检查服务器返回的证书链。

遇到这类问题,可以参考 如何修复SSL证书错误?

六、HTTPS正常后,再配置HTTP跳转HTTPS

确认:

https://www.example.com

可以正常访问以后,再把原来的 HTTP 流量跳转到 HTTPS。

IIS 环境比较常见的方式是使用 ​URL Rewrite​。

安装 URL Rewrite 模块后,在网站功能中打开:

URL 重写 → 添加规则 → 空白规则

设置匹配条件。

URL 模式:

(.*)

添加条件:

条件输入:{HTTPS}
模式:^OFF$

操作选择:

重定向

目标 URL:

https://{HTTP_HOST}/{R:1}

重定向类型选择:

永久(301)

这样用户访问:

http://www.example.com/test

就会被跳转到:

https://www.example.com/test

路径和查询参数也能够保持。

如果网站原来长期使用 HTTP,涉及搜索引擎收录、Canonical、站内链接以及 301 传递,还需要按照完整的 HTTPS 改造流程处理,可以参考 网站如何从HTTP更改为HTTPS?

七、IIS部署证书后,为什么还是提示“不安全”?

证书已经绑定成功,并不代表网站所有内容都已经变成 HTTPS。

一个比较典型的情况是:

网页本身:

https://www.example.com

但是网页里面引用了:

http://www.example.com/static/css/style.css
http://www.example.com/images/logo.png

这就是 ​**混合内容(Mixed Content)**​。

浏览器会认为 HTTPS 页面中仍然存在明文 HTTP 资源,因此可能出现“不安全”、资源被拦截或者页面样式异常。

这种情况下,问题不在 IIS 证书绑定,而在网页代码或资源地址。

需要把站内资源改成:

https://www.example.com/static/css/style.css

或者使用相对路径:

/static/css/style.css

如果网站刚从 HTTP 切换到 HTTPS,这一项尤其值得检查。

八、IIS证书部署完成后,建议再检查这4项

真正上线之前,可以按照下面的顺序做一次检查:

1. 检查证书域名

确认主域名、www 域名以及其他业务子域名都被证书覆盖。

2. 检查证书有效期

确认新证书已经生效,没有继续调用旧证书。

3. 检查证书链

确认服务器能够向客户端提供完整的中间证书链。

4. 检查HTTP跳转

分别访问:

http://example.com
http://www.example.com
https://example.com
https://www.example.com

确认最终访问地址符合网站规划。

如果还涉及 CDN、负载均衡或 WAF,还要检查这些节点上的证书是否同步更新。


IIS部署SSL证书常见问题

IIS部署SSL证书一定要使用PFX吗?

IIS 最方便的方式是使用包含私钥的 PFX/P12 文件。因为 IIS 需要同时调用服务器证书和私钥完成 HTTPS 服务。

如果目前只有 .crt.key,可以先将两者转换为 PFX,再导入 IIS。

一台IIS服务器可以部署多张SSL证书吗?

可以。

如果多个 HTTPS 网站使用不同域名,并且共用一个 IP,可以通过 SNI 将不同域名与对应证书绑定。

如果不同网站使用不同 IP,则可以直接通过 IP 和端口区分站点。

IIS证书已经绑定,为什么访问还是不通?

优先检查三个地方:

  1. TCP 443 是否开放;
  2. IIS HTTPS 绑定是否正确;
  3. 域名 DNS 是否解析到了当前服务器。

如果这三项都正常,再检查证书链、TLS 协议以及 CDN、负载均衡等中间设备。

更新IIS证书需要重启服务器吗?

一般不需要重启 Windows Server。

将新的 PFX 导入服务器后,在 IIS 网站的 HTTPS 绑定中选择新证书即可。若前面还有 CDN、WAF、负载均衡等 TLS 终止节点,则需要同步更新这些节点上的证书。

IIS可以使用免费SSL证书吗?

可以。

Let's Encrypt 等免费 CA 签发的 SSL/TLS 证书同样可以部署到 IIS。申请后可以转换为 PFX,或者使用支持 Windows/IIS 的 ACME 客户端自动完成证书申请、续期和绑定。

如果想了解免费证书的申请方式,可以查看 免费SSL证书是什么?怎么申请?

立即探索,帮您快速寻找适合您的SSL数字证书 申请SSL证书
免费SSL证书 - SSL证书申请与HTTPS加密平台 | TopSSL
提供免费与付费SSL证书申请
关注 TopSSL 公众号, RSS订阅SSL资讯与技术支持

2004-2026 © 北京传诚信  版权所有 | TopSSL 提供免费SSL证书申请、HTTPS加密部署及企业级SSL证书服务,支持网站安全连接、数字证书安装与浏览器信任验证。  北京市朝阳区鹏景阁大厦16层

技术协助:wo@topssl.cn 企业咨询:vip@topssl.cn