【发布时间】:2020-08-06 19:42:01
【问题描述】:
我已经搜索了 SO 以及我能想到的几乎所有其他来源,但找不到我遇到的这个奇怪场景的答案。
我最近续订了通配符证书并将其安装在我的服务器 (Windows Server 2012 DC) 上。我使用 netsh 命令删除旧证书并添加新证书。即
netsh http delete sslcert hostnameport=syncaccess-swc-nap.syncronex.com:443
netsh http add sslcert hostnameport=syncaccess-swc-nap.syncronex.com:443 certhash=A6F49B... certstorename=MY appid='{3a9c5b05-1a95-43f4...}'
这一切都按预期进行。服务器正在根据我的浏览器颁发预期的(更新的)SSL 证书。如果我在服务器上运行netsh http show sslcert,我会看到预期的证书哈希。无论如何,这非常有效。
但是,当我在 IIS 管理器中查看站点绑定时,它仍然显示旧证书。这让我感到紧张,即使一切似乎都正常。
以下是 netsh http show sslcert 针对此特定站点的输出:
IIS 管理器对话框中该证书的“友好名称”是旧证书的名称(新的是 2021-syncronex.com),您可以看到哈希值不匹配。
我已尝试重新启动站点/应用程序池。我试过重启服务器。这似乎不是一种缓存的情况。
注意服务器上有大约两打站点可能很重要。所有这些都绑定到这个通配符证书,其中一些有多个使用 SNI 的 SSL 绑定。此特定站点不使用 SNI,仅带有一个 https 绑定。
我有几个网站都表现出同样的奇怪行为。
那么,我在那里做错了什么?我希望这只是 IIS 管理器的一个特性,我可以放心地假设一切正常。
【问题讨论】:
-
您误解了映射,IIS 管理器总是以自己的方式工作,docs.jexusmanager.com/tutorials/https-binding.html#background 要解决此问题,请为此绑定启用 SNI。