运行 ruby​​ on rails 应用程序的 apache2 服务器具有 go daddy 证书,该证书可在 chrome/firefox 和 ie 9 中使用,但不能在 ie 8 中使用

运行 ruby​​ on rails 应用程序的 apache2 服务器具有 go daddy 证书,该证书可在 chrome/firefox 和 ie 9 中使用,但不能在 ie 8 中使用

我在 linode ubuntu 11 服务器上运行了一个 rails 应用程序,运行 apache2。我从 godaddy 购买了一个证书(我们也在那里购买了域名),并且该证书已安装在我的服务器上。

我的虚拟主机文件的一部分:

ServerName my_site.com
ServerAlias www.my_site.com

SSLEngine On
SSLCertificateFile      /path/my_site.com.crt
SSLCertificateKeyFile   /path/my_site.com.key
SSLCertificateChainFile /path/gd_bundle.crt

该证书在 Chrome、FireFox 和 IE 9+ 上运行良好,但在 IE 8 中出现此错误:

There is a problem with this website's security certificate.

The security certificate presented by this website was 
issued for a different website's address.

我在同一台服务器上托管多个 rails 应用程序(目前有 4 个,外加一些不需要 ssl 的旧 php 站点)。

我尝试用谷歌搜索我能想到的所有可能的错误/情况组合,但目前我只能凭空猜测。我能想到的最接近的答案是,某些版本的 IE 不支持 SNI。但这不适用于此处,因为我在运行 IE 8 的 Windows 7 计算机上收到警告,并且如果操作系统是 Windows XP,SNI 似乎仅适用于 IE 8。

那么为什么这个证书被所有浏览器接受,但在 IE 8 中却发出警告?

编辑:

经过进一步的研究,我找到了更多答案。结果发现这也影响了 IE 9。然而问题似乎是 IE 没有遍历 SSL 链来获取正确的证书。当我尝试显示正确的证书时view certificate,FireFox 和 Chrome 却显示我们其他站点的证书之一。

真正的问题在这里:

既然如此,为什么其他浏览器都能获得正确的证书而 IE 却无法获得呢?我该如何解决这个问题?

相关内容