我有一个为SSL配置的apache webserver,以及我希望在该服务器上访问的页面。我无法从Windows XP和Inernet Explorer 6-7-8访问该SSL网页。同一页面适用于其他操作系统(包括IE)中的所有浏览器以及Windows XP上的其他浏览器。 XP-IE中的其他互联网SSL网站也很好用。
我试图在服务器上运行ssldump
,并在SSL握手期间关闭连接。
New TCP connection #1: XP_HOST(62044) <-> WEBSERVER(443)
1 1 0.2040 (0.2040) C>S Handshake
ClientHello
Version 3.1
cipher suites
TLS_RSA_WITH_RC4_128_MD5
TLS_RSA_WITH_RC4_128_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_DES_CBC_SHA
TLS_RSA_EXPORT1024_WITH_RC4_56_SHA
TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA
TLS_RSA_EXPORT_WITH_RC4_40_MD5
TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5
TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
TLS_DHE_DSS_WITH_DES_CBC_SHA
TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA
compression methods
NULL
ERROR: Length mismatch
我还试图强制客户端和服务器使用特定的SSL版本(2或3),但这似乎都不起作用。 我认为问题可能是apache上的一些SSL配置,但我找不到我的错误。
这是我关于密码套件的SSL配置:
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLProtocol all -SSLv2
如果还有其他需要,请告诉我,我会在此处添加。
在apache上禁用SNI和NameServer。
有人有什么建议吗? 提前谢谢。
答案 0 :(得分:4)
好的,我解决了。 我发现Windows XP存在碎片化SSL / TLS握手消息的问题。通过Microsoft知识库搜索,我发现“TLS / SSL协议的Microsoft实现无法解析碎片消息”(请参阅Microsoft KB Article)。
Microsoft Update KB2541763(在链接页面上提供)解决了这个问题,允许Windows XP(以及Windows Server 2008和Windows Vista)接受来自Web服务器的碎片化握手消息。
最诚挚的问候。
答案 1 :(得分:0)
该操作系统不适用于SNI,当您想在同一IP上运行多个SSL VH时,这是必需的。
将您的SSL VirtualHost从<VirtualHost *:443>
编辑为<VirtualHost IP.Address:443>
,并且不要在该IP上运行任何其他SSL VirtualHost。