在IE6和更高版本之间关于HTTPS处理的区别

直接问题:是否有任何东西有很好的资源,以改变IE6和IE7之间的细节,特别是可能使IE6无法连接到基于IIS7(Windows 2008)的Web服务器上的HTTPS资源? 我们的假设是,服务器只接受比IE6无法应付的更新的协议版本/变体,但我们无法find可能configuration的位置。

长话短说:

我们遇到了一些运行客户端应用程序的Web服务器的问题。 由于客户有渗透testing人员检查configuration,导致一堆本地策略更改和其他registry设置被更改,因此Internet Explorer 6拒绝通过HTTPS连接到该站点(报告的错误是默认的“找不到服务器”或“ DNS错误“消息)。 IE7和IE8是好的,我们尝试过的其他浏览器(Windows上的FireFox,Ubuntu上的FF,链接,…),虽然这是一个有争议的问题,因为许多用户或多或less使用IE6。 IE6很高兴通过HTTP在相同的IIS安装上访问相同的资源。

通过logging的变化,我们发现没有什么明显的情况下,甚至将所有的变化应用到我们的testing服务器上也不会产生问题,这些变化之一就是在引入非易失性所以我怀疑这是问题出在哪里。

我找不到任何有用的信息(许多站点logging了如何在Web服务器上执行最基本的SSLconfiguration,并获得客户端应用程序等所信任的证书,但没有明显涉及这个问题的词),在浏览Microsoft的Web服务器的本地策略文档时,也没有发现任何明显的迹象。

告诉客户从IE6升级,不幸的是,不是一个选项。 我不愿意告诉他们简单地重buildnetworking服务器,并且更加小心他们下一次点击的那个checkbox,但是它正在成为我们推荐的地方。

你有没有嗅探IE6和IIS机器之间的客户端到服务器握手呢? ( http://en.wikipedia.org/wiki/Transport_Layer_Security#TLS_handshake_in_detail )我怀疑这会给你第一个有关错误的信息,特别是如果你将握手与基于IE7的客户端 -服务器对话。 我的猜测是不兼容的握手。

以下是Microsoft对IE 7中“HTTPS”的“官方”更改文档: http : //msdn.microsoft.com/zh-cn/library/bb250503(VS.85).aspx

我想知道IE6客户端的“高级”设置中的“使用TLS 1.0”checkbox。 IE7默认启用TLS 1.0,IE6禁用它。 目前还不清楚您的客户的笔友是否在服务器,客户端或两者上进行了设置。 我可以想象,假设他们正在玩弄服务器,他们禁用了服务器上的SSL v2(请参阅http://support.microsoft.com/kb/187498 ),但并没有告诉任何人在IE6上启用TLS 1.0客户端。

在服务器上,他们会更改/创build“HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ SSL 2.0 \ Server”下的“启用”DWORD值,并将其设置为0,假设他们禁用了SSL v2。

作为追查错误来源的testing:通过网页浏览器控制的连接是否工作? 例如,您可以使用iMacros Browser 30天试用版进行此testing。 它使用与IE相同的引擎,但使用不同的包装。