我在apache服务器上设置了SNI,我认为事情进展顺利。 我有两个指向同一站点的不同域的URL。 我有一个虚拟主机设置每个与每个适当的证书。 其中一个证书是有效的,但另一个是自签名的(在GoDaddy上等待真正的证书)。
如果我在Firefox中testing不同的URL,Safari和Opera都运行良好。 我没有得到有效证书的URL错误,我得到了另一个自签名警告。 但是,在Internet Explorer 8和Google Chrome浏览器中,这两个URL均会返回有效证书(即使该证书对于特定网站无效)。 所以对于一个网站,我得到一个有效的证书。 另一方面,我得到一个关于证书是不同的网站的警告。 我尝试切换虚拟主机的顺序,这没有什么区别。 我知道Chrome和IE都使用Window的HTTP堆栈,所以我明白为什么这两个行为是相同的。 我不明白的是为什么我看到这种行为。
奇怪的设置? https://alic.sni.velox.ch/适用于Windows7 x86 64bit上的FF3,Chrome5和IE8浏览器
但在我的Apache 2.2.13与gnutls,FF3和Chrome5的工作,但… IE8获得第一个虚拟主机证书不是第二,第三等等,所以IE8似乎不支持SNI的Apache 2.2.13和gnutls
在这里回答第1部分:问题是SNI。 您的浏览器不发送主机名,所以Apache只提供它加载的第一个证书。
在这里回答第2部分:虽然Windows Vista和更高版本上的IE7和IE8支持SNI,但XP上的相同浏览器不支持。