同一 IP 上的多个 SSL 存在问题,但仅限于特定客户端

同一 IP 上的多个 SSL 存在问题,但仅限于特定客户端

我知道有很多关于同一 IP 上的多个 SSL 的帖子,但我保证我不会重复老生常谈。我的问题非常清楚。首先,介绍一下背景...

我们的组织有多个电子商务网站。所有这些网站都在同一 IP 上运行,并使用 SNI 作为基于名称的虚拟主机。在大多数情况下,这种方法效果很好。但是,在某些浏览器(ie7/ie8,但由于某种原因仅在部分机器上)中,我们收到报告称用户看到域名与 SSL 证书不匹配。事实证明,他们看到的是按字母顺序排列的第一个 SSL 主机的 SSL 证书,因为 Apache 首先解析 IP 地址,然后获取它认为正确的虚拟主机文件。

我对 SSL 协议进行了一些实验,发现如果我这样设置它(ssl.conf):

SSL协议 TLSv1

然后,我就会在 IE 中发现任何 https 域都未找到。

如果我在 ports.conf 中设置 SSLStrictSNIVHostCheck

SSLStrictSNIVHostCheck 开启

然后我会在有问题的浏览器中收到权限被拒绝的消息。

问题显然在于 IE 不支持或不使用 TLSv1 协议或 SNI,而这两者都是必需的。所以我的问题是...

我是否可以进行配置更改来支持 IE(也许使用不同的协议),或者我唯一的选择是为每个需要 SSL 的虚拟主机使用单独的 IP?

提前致谢 = )

答案1

不幸的是,SNI 支持仍然相当缺乏。您没有具体说明,但我敢打赌,您有问题的 IE 浏览器是在 Windows XP 机器上,对吧?Windows XP(或更早版本)上的任何版本的 IE 都不支持 SNI;只有 Vista 及更高版本支持它,并且只有 IE 7 及更高版本才支持它。

点击此处查看支持 SNI 的浏览器列表

我的建议:如果您需要支持缺少 SNI 支持的客户端(并且由于仍然存在许多 XP 系统,您很可能确实需要这样做),那么您必须实施不依赖于 SNI 的解决方案。

答案2

如果您想要覆盖广泛的受众,请不要使用 SNI。它没有得到足够广泛的支持,您应该至少在未来几年内避免使用它。

您应该考虑使用 UCC/SAN 证书。通常情况下,这种证书更贵,但在这种情况下,这是正确的做法。或者您可以为每个站点分配一个 IP 地址。

http://www.geotrust.com/ssl/ssl-certificates-san-uc/提供有关此类证书的更多信息。

答案3

如今,大约 10% 的互联网用户缺乏对服务器名称指示的支持。在 GlobalSign,我们最近创建了一个解决方案,通过使用两个 SSL 证书(一个用于 IP 地址,是免费的)来支持不支持服务器名称指示 (SNI) 的用户。您可以在我们今天发布的博客文章中阅读有关该问题以及我们创建的解决方案的更多信息,以便在单个 IP 地址上安全地托管多个 SSL 证书。

https://www.globalsign.com/blog/saving-ipv4-resources.html

相关内容