在这里使用虚构的域而不是我遇到的实际域:
domain1.com 在 IIS 中设置了绑定并链接到 SSL 并选中了“需要服务器名称指示”。
domain2.com 在 IIS 中具有绑定并链接到它自己的 SSL 并选中“需要服务器名称指示”。
在浏览器中访问https://domain1.com可以正常工作。
在浏览器中访问https://domain2.com会出现错误:NET::ERR_CERT_COMMON_NAME_INVALID “此服务器无法证明它是 domain2.com;其安全证书来自 domain1.com。”
我不能理解它,因为肯定会检查 SNI 两者,并且它们是该 IP 的唯一 2 个 https 绑定。我已经尝试在 IIS 中重新启动站点并回收 AppPool,但这没有任何区别。
您需要使用
netsh
或像 Jexus Manager 这样的工具来查看存储在 Windows HTTP API 中的确切映射是什么,https://docs.jexusmanager.com/tutorials/https-binding.html#sni-based-bindings
IIS 管理器不显示该详细视图。