金蝶部署 IIS 设置 HTTPS 证书出现回滚"未指定"问题解决

问题现象

在金蝶系统部署到 IIS 后,配置 HTTPS 证书时遇到以下问题:

  • 证书设置后,在 IIS 管理器中点击站点时,证书绑定会被自动删除
  • 事件查看器中出现相关日志,显示 IIS 主动将证书删除
  • IIS 站点绑定中 SSL 证书显示为”未指定

问题原因

根据 Microsoft 官方文档说明,此问题的根本原因是:

网站的 SSL 绑定已被删除且未替换,或者已被删除并替换为无效的证书信息。发生此问题的原因是旧版 SSL 证书哈希属性干扰了当前 SSL 绑定,导致删除正确的绑定。

简单来说,applicationHost.config 配置文件中残留的旧证书哈希值与新证书产生了冲突。

解决方案

步骤 1:定位配置文件

找到 IIS 的 applicationHost.config 配置文件,通常位于:

1
C:\Windows\System32\inetsrv\config\applicationHost.config

步骤 2:备份配置文件

在修改前,建议先备份该文件:

1
2
Copy-Item "C:\Windows\System32\inetsrv\config\applicationHost.config" `
"C:\Windows\System32\inetsrv\config\applicationHost.config.backup"

步骤 3:删除冲突属性

使用文本编辑器(以管理员身份运行)打开 applicationHost.config,在 <CustomMetaData> 部分中找到类似以下的属性:

1
2
3
<key path="LM/W3SVC/X">
<property id="5506" dataType="Binary" userType="1" attributes="None" value="oXiHOzFAMOF0YxIuI7soWvDFEzg=" />
</key>

注意X 代表你的站点 ID,property id="5506" 是导致冲突的旧证书哈希属性。

将整个 <property> 标签删除,保存文件。

步骤 4:重启 IIS

打开 PowerShell(管理员权限)执行:

1
iisreset

步骤 5:重新绑定证书

在 IIS 管理器中重新为站点绑定 SSL 证书,问题应该已解决。

验证结果

  • IIS 站点绑定中 SSL 证书正常显示
  • 事件查看器中不再出现证书删除的日志
  • HTTPS 访问正常

参考资料