我们最近从 W2K3/IIS6 升级到 W2K8/IIS7,并且遇到了 SSL 证书(Thawte 123 SSL 证书)在重启后停止工作的问题。
最初,中间证书会停止工作,我们可以通过在重启后重新安装所有证书来修复问题(虽然很烦人,但不是世界末日)。不幸的是,这不再起作用了。证书链已经用几种工具和知识渊博的人仔细检查过,但没有人能够找出问题的原因。
IIS 中的绑定也已检查
该证书本身仍然有效。
注 1:我见过这这个问题似乎非常相似,但那篇文章中没有令人满意的答案,而且已经有一年了,所以短期内不太可能得到答案。注 2:我是代表同事问这个问题的,所以无法对任何问题/建议提供即时反馈,但我会将其传达出去。
网址是:
http://www.flirtalike.com/https://www.flirtalike.com
截图:
答案1
我们找到了解决方案这里:
机器重启后,转到 IIS 管理器并打开相关网站的“绑定…”窗口。然后,选择“https”,单击“编辑”,然后单击“确定”,无需对设置进行任何更改。完成此操作后,现在应该可以成功浏览 https://。
不幸的是,我们仍然需要在每次重启后执行此操作,但至少我们的 SSL 可以正常工作!
答案2
我们注意到了同样的问题。每次服务器重启后,SSL 证书都会被删除。启动 TrendMicro OfficeScan 后,EventLog 中的警告就会立即出现在我们的机器上。但即使卸载病毒扫描程序也没有任何改变。每次重启后问题仍然存在。
我们的研究最终确认,注册表和“C:\Windows\System32\inetsrv\config\”中的“applicationHost.config”中的所有设置均正确无误。但重启后,此文件被修改,证书分配被删除。(也许有人可以从这里找到真正的原因。
我们的结论是现在要采取解决方法。根据此说明,我们创建了 PowerShell 脚本来再次分配证书。 http://www.iis.net/learn/manage/powershell/powershell-snap-in-configuring-ssl-with-the-iis-powershell-snap-in 然后将其设置为在计算机启动时自动执行(在提升模式下!)。
Import-Module WebAdministration;set-location IIS:\
cd IIS:\SslBindings
get-item "cert:\LocalMachine\webHosting\*" | new-item 0.0.0.0!443
您需要根据您的证书存储区调整位置。如果您有多个证书,则需要添加“-filter”以选择正确的证书。(以上示例用于为所有 IP“*”在端口 443 上设置证书。)
希望这可以帮助其他遇到这个愚蠢问题的人。我们在 2016 年使用 IIS8 的“Win2012 Server”上遇到了这个问题(!) - 问题仍然存在!