XP上的IE不支持SNI允许单个服务器的多个证书

Rob*_*ell 3 apache https internet-explorer sni

我一直在寻找几个小时来找到我的问题/问题的解决方案,虽然我相信我已经能够澄清我遇到问题的原因我一直无法找到解决方案.

我有一台托管多个网站的服务器,其中一些网站正在使用SSL证书.我有一些由所有站点访问的共享图像,并且在SSL站点上停止非安全错误的方法是从https://www.example-shared-image-server.com/images/imagename提供这些共享图像. JPG

这很好用,直到我注意到在Windows XP上使用Internet Explorer时它会显示消息"此网站的安全证书存在问题".然后我发现它是因为它为服务器上的不同域获取证书.这与在一台服务器上使用SSL证书托管多个站点有关.

假设我有四个站点,只有前两个安装了SSL证书.

https://www.one.com
https://www.two.com
http://www.three.com
http://www.four.com
Run Code Online (Sandbox Code Playgroud)

不要忘记以下内容:

https://www.example-shared-image-server.com
Run Code Online (Sandbox Code Playgroud)

因此,当从上面的共享图像URL访问图像时,它实际上是调出https://www.one.com,因此出错.

所以它似乎与IE不支持Windows XP或Vista上的SNI或SSL/TLS有关,而它在Win 7和Win 8上.这似乎是M $的迫切需要迫使人们升级到更新的操作系统.但事实是所有其他浏览器都支持它.

但是,我无法确定的是我能做些什么.所以我相信我的问题是,是否可以在不同域上的同一服务器上使用SSL托管多个网站,而不会导致IE显示错误.如果没有,其他人会做什么?是的,我该如何配置呢?

我已经在这几个小时了,所以如果有人可以提供帮助,我会非常感激.

非常感谢,

Eri*_*Law 8

Windows XP的SChannel版本不支持SNI,这意味着IE和其他基于WinINET/WinHTTP的应用程序不支持该平台上的SNI.

http://blogs.msdn.com/b/ieinternals/archive/2009/12/07/certificate-name-mismatch-warnings-and-server-name-indication.aspx

SNI支持在Windows Vista中引入; 如果你没有看到它在该平台上运行,那么可能是IE被重新配置为远离默认值以启用SSL2.兼容SSLv2的握手不带有像SNI扩展那样的TLS扩展.

这里唯一真正的解决方法是:

  1. 在不同的IP或端口上托管每个服务器(因此服务器可以根据该信息选择证书)
  2. 使用证书的SubjectAltName字段使用包含多个主机名的证书