我在 Windows Server 2019 和 TLS 1.2 上遇到了 IIS 问题。
我更换了ROOT CA,并且有新安装的受信任的根证书。
现在我有一些设置为 true 的IIS
网站。require ssl
现在使用 Firefox 有两种场景:
在任何需要 TLS 的网站上执行 GET 操作,并且来自客户端(火狐)发送由 OLD ROOT CA 颁发的证书并且仍然有效且http200
正常。
但
如果来自客户端(Firefox / Chrome 等都一样)发送由 NEW ROOT CA 颁发的证书(也有效)我从服务器收到 403.7。(在浏览器中看不到这个,它只是再次要求提供证书)
我不知道为什么这里显示 12s。响应是即时的,在客户端我没有看到 403.7,我看到连接重置了?
如何尝试更多调试?
还有最奇怪的事情:
如果我使用新的根 CA 颁发的相同证书执行相同的操作,但从邮递员那里,我收到 200/ok,如何找出原因?
第二件最奇怪的事情是:
如果我在其他 Windows Server 2019 服务器上托管同一个站点require ssl
,那么这两个证书都可以。
因此,这是与新证书 CA / 颁发者有关的一个服务器问题。
- - 编辑 - - -
还有一件奇怪的事情:
如果我执行相同的获取操作,但从服务器通过服务器 IP 或本地主机发送相同的新证书,则可以。
所以仅当我们从远程 PC 浏览器进入时才会出现此问题,所以我在考虑一些 netsh 问题?
不知道还要检查什么。
并且
两台机器、客户端或服务器上均未安装新的根 CA,并且在 mmc>certs 机器中可见中间信任的根 CA 也正常等。
在 IIS 上,仅配置了与端点 URL 匹配的 https 绑定的 SSL 证书,由新/旧根 CA 颁发,没有区别 - 从浏览器重置连接并从邮递员那里恢复正常。此外,如果我在服务器上导入这个新的客户端证书,那么我可以检查链,证书链正常且受信任。
恕我直言,如果它使用相同的客户端证书从本地主机运行,则 IIS 设置 100% 正常,那么一定是其他问题?也许是 netsh 出了问题?也检查过了,与第二台正常运行的机器上的情况相同。
请建议还需要检查什么或者问题可能出在哪里?
答案1
您是否还用新的根 CA 替换了网站上的证书。更改根 CA 时,整个证书链都会发生变化,因此证书本身也需要反映这一点
为了测试,我将从新的根 CA 颁发新证书,并将其导入到相关站点的 SSL 绑定中。更改证书后,还请确保清除浏览器缓存并重新启动 iis
另一个更复杂的选项是导出当前证书,并将其作为文本文件打开,对其进行解码,然后查看新的根证书是否在其中