我正在 Apache 服务器上设置 SNI,并且我想法一切进展顺利。我有两个来自不同域名的 URL,它们指向同一个网站。我为每个 URL 设置了一个虚拟主机,并为每个 URL 设置了相应的证书。其中一个证书有效,但另一个是自签名的(正在等待 GoDaddy 提供真正的证书)。
如果我在 Firefox、Safari 和 Opera 中测试不同的 URL,则一切正常。对于具有有效证书的 URL,我没有收到任何错误,而对于另一个 URL,我收到了自签名警告。但是,在 Internet Explorer 8 和 Google Chrome 中,两个 URL 都返回有效证书(即使它对特定网站无效)。因此,对于一个网站,我获得了有效证书。对于另一个网站,我收到有关证书适用于其他网站的警告。我尝试切换 vhosts 的顺序,但没有任何区别。我知道 Chrome 和 IE 都使用 Window 的 HTTP 堆栈,所以我理解为什么两者的行为相同。我不明白的是为什么我会看到这种行为。
答案1
奇怪的设置? https://alic.sni.velox.ch/适用于 windows7 x86 64 位上的 FF3、Chrome5 和 IE8 浏览器
但是在我的 apache 2.2.13 上,使用 gnutls、FF3 和 Chrome5 可以工作,但是...IE8 获取的是第一个虚拟主机证书,而不是第二个、第三个等等。所以 IE8 似乎不支持 apache 2.2.13 和 gnutls 的 SNI