我有一个 IIS 6 Web 服务器场,通过 HTTP 和 HTTPS 托管一个网站。在 Mac 上使用 Safari 4,通过 HTTPS 连接,场中的一些节点触发浏览器向用户发出证书错误,其他节点工作正常。总是相同的节点会导致问题,但问题似乎不会出现在 IE 或 Chrome 中。
我认为场中的这些节点配置错误,但我无法通过查看各个服务器设置轻松识别问题。我想将客户端工具指向一个已知的良好节点,并从客户端的角度捕获 SSL 客户端和服务器 hello、证书消息、密钥交换等,未加密,然后在已知问题节点上重复,然后相比。
您能否为此建议任何 Windows 工具,或者可能是诊断故障的更好方法?
我经常使用OpenSSL 的 s_client。我不明白为什么Win32 版本不应该一样工作。
您可以使用以下命令对 SSL 握手非常详细:
然后,如果您希望不那么健谈,您可以放弃一些论点。
您可能还希望
-CAfile
使用您唯一的签名 CA来指定。HTTPS 连接的最初几毫秒一文解释了您在寻找什么。
看看 fiddler2 - http://www.fiddler2.com
“Fiddler 是一个 Web 调试代理,它记录您的计算机和 Internet 之间的所有 HTTP(S) 流量。Fiddler 允许您检查所有 HTTP(S) 流量、设置断点以及“fiddle”传入或传出数据。Fiddler 包括强大的基于事件的脚本子系统,并且可以使用任何 .NET 语言进行扩展。”
Fiddler 是一款出色的通用 Web 调试工具。现在,出于您的目的,您可能希望结合 David 的建议,即分别连接到每个服务器以及从 Fiddler 跟踪正在发生的事情的能力。知道你连接到哪台服务器显然是关键,这样你就可以准确地确定问题所在
农场是如何配置的?如果您可以看到农场的每个节点(即您直接或通过 VPN 在同一个网络上,或者它们具有面向公众的 IP 地址),您是否不能连接到每个节点并查看哪个存在证书问题?
对于每个节点: