必须安装SSL证书才能在IIS上启用HTTPS加密。IIS本身不内置证书,需手动导入.pfx格式证书文件,并绑定至网站的443端口。整个过程分为三步:准备证书、导入服务器证书库、绑定到具体站点。若跳过任一环节(如未分配绑定或未启用443端口),浏览器将显示“您的连接不是私密连接”错误。
该操作适用于Windows Server 2008 R2至Windows Server 2022全系列IIS版本,包括IIS 7.0、IIS 8.0、IIS 10及IIS 11。不同版本UI略有差异,但底层证书存储机制一致——全部依赖Windows证书存储(Personal store)。部署前务必关闭360、安全狗等本地杀毒软件,它们可能拦截.pfx解密导致导入失败。
当用户访问https://example.com时,IIS首先发送自身证书及完整证书链(含中间CA证书)。浏览器按RFC 5280标准逐级向上验证:检查证书签名是否被信任根CA签发、域名是否匹配、是否在有效期内、是否被吊销(通过OCSP或CRL)。若任一环节失败,Chrome或Edge会直接阻断连接并显示NET::ERR_CERT_AUTHORITY_INVALID。
IIS默认仅发送站点证书,不自动附加中间CA证书。若客户端缓存中缺失对应中间证书(如Sectigo或锐安信的中间CA),验证即中断。工程实践中,92%的IIS HTTPS故障源于证书链不完整。正确做法是在导出.pfx前,用SSL证书链下载工具补全链路,或在IIS绑定时手动选择“完整证书链”选项(IIS 10+支持)。
以IIS 10为例:打开IIS管理器 → 左侧选服务器名 → 双击“服务器证书” → 右侧点击“导入” → 浏览选择.pfx文件 → 输入密码 → 存储位置选“个人”。完成导入后,右键目标网站 → “编辑绑定” → 添加新绑定 → 类型选HTTPS、端口443、SSL证书下拉选择刚导入的证书名称。注意:若网站已存在HTTP绑定,需额外配置HTTP重定向(301)以强制HTTPS访问。
真实运维经验:某政务云平台曾因IIS未设置TLS 1.2协议优先级,导致Win7 IE11无法完成握手。解决方案是在服务器注册表中启用TLS 1.2并禁用SSL 3.0,再重启HTTP.SYS服务。这属于TLS协议栈配置,与证书安装分离,但直接影响HTTPS可用性。
| 维度 | 参考标准 | TopSSL专家建议 |
|---|---|---|
| 单域名证书 | 仅保护一个FQDN(如www.example.com) | 适合静态官网,单域名SSL证书部署最简,IIS绑定无特殊要求 |
| 通配符SSL证书 | 保护主域及所有一级子域(如*.example.com) | 需确认IIS版本≥7.5;绑定时域名匹配逻辑由SNI决定,旧版IE8不支持 |
| DV SSL证书 | 域名验证型,签发快(秒级),无企业信息展示 | 开发测试环境首选;DV证书可从免费ssl申请获取 |
| OV/EV证书 | 需人工审核企业资质,地址栏显示组织名称 | IIS部署流程相同,但需确保CSR中Organization字段与营业执照完全一致,否则CA拒签 |
Q:IIS安装SSL证书后仍提示“证书不受信任”?
A:大概率是证书链缺失或根证书未预置于客户端。使用SSL证书验证方法检测链路完整性,或手动将中间证书导入客户端“受信任的根证书颁发机构”。
Q:能否在同一台IIS服务器上为多个域名部署不同SSL证书?
A:可以,但需启用SNI扩展(IIS 8.0+默认开启)。每个绑定必须指定独立证书,且域名不能冲突。多域名场景推荐使用多域名证书统一管理。
Q:IIS中删除SSL证书会影响已建立的HTTPS连接吗?
A:不会。已建立的TLS会话基于会话密钥继续通信,但新连接将因证书不可用而失败。生产环境建议在业务低峰期操作,并提前验证备用证书。
加密您的网站,赢得客户信任!