首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSL证书在IE 7+中不匹配,在Firefox 3.6+中正常

SSL证书在IE 7+中不匹配,在Firefox 3.6+中正常
EN

Stack Overflow用户
提问于 2010-06-15 05:44:36
回答 2查看 6.3K关注 0票数 5

我们有一个站点www.name1.domain.com,我们成功地为它创建并实现了SSL证书。然后我们添加了另一个网站www.name2.domain.com,并且在IE7和IE8中看到了一些奇怪的行为(令人惊讶!)。

基本上,当我们转到https://www.name2.domain.com/时,IE7、8报告主机名不匹配。当我在IE中为此域添加和查看此证书时,主机名不正确,但属于较旧的主机名,即www.name1.domain.com。

火狐没有这个问题,它为第二个站点选择了正确的主机名www.name2.domain.com,没有任何问题。

有任何想法为什么IE是行为不端(除了时髦的(-:)?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-21 16:59:25

您的问题是Windows XP (可能还有其他软件)上的Internet Explorer不支持SNI。

我刚刚遇到了同样的问题--基本上Firefox和Chrome都没问题,而且获得了正确的证书,但I浏览器就不行了。然后我查了一下,在维基百科上看到了this,还有其他一些东西:

在Windows Vista或更高版本上支持

服务器名称指示7 Internet Explorer7或更高版本的TLS浏览器。在Windows XP上不起作用,即使是Internet Explorer 8也不起作用。

因此,您的apache/openSSL组合支持SNI,并且可以做到这一点,但Windows XP不能。

我的解决方案是在VirtualHost配置中将主子域放在第一位,次要子域放在第一位。至少,对于为什么会出现这种情况,对客户的解释较少。不过,我不知道这对你是否有效。

票数 7
EN

Stack Overflow用户

发布于 2011-06-26 01:15:07

火狐支持在同一个端口上运行SSL,443(使用相同的IP)到两个虚拟主机(在Apache中),但IE7不支持。

http://www.eggheadcafe.com/software/aspnet/36069240/sni-support.aspx

====

http://httpd.apache.org/docs/2.0/ssl/ssl_faq.html#vhosts2

为什么不能使用基于名称的虚拟主机来识别不同的SSL虚拟主机?基于名称的虚拟主机是识别不同虚拟主机的一种非常流行的方法。它允许您对许多不同的站点使用相同的IP地址和相同的端口号。当人们转向SSL时,似乎很自然地认为可以使用相同的方法在同一服务器上拥有许多不同的SSL虚拟主机。

得知这是不可能的,这相当令人震惊。

原因是SSL协议是一个单独的层,封装了HTTP协议。因此,SSL会话是一个单独的事务,它发生在HTTP会话开始之前。服务器在IP地址X和端口Y(通常为443)上接收SSL请求。由于SSL请求不包含任何Host:字段,因此服务器无法决定使用哪个SSL虚拟主机。通常,它只使用它找到的第一个匹配指定的端口和IP地址的地址。

当然,您可以使用基于名称的虚拟主机来标识许多非SSL虚拟主机(例如,全部在端口80上),然后拥有单个SSL虚拟主机(在端口443上)。但是如果这样做,您必须确保将非SSL端口号放在NameVirtualHost指令中,例如

NameVirtualHost 192.168.1.1:80其他解决方法解决方案包括:

对不同的SSL主机使用单独的IP地址。对不同的SSL主机使用不同的端口号。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3041176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档