![同一网站/虚拟主机的多个 SSL 证书](https://linux22.com/image/546634/%E5%90%8C%E4%B8%80%E7%BD%91%E7%AB%99%2F%E8%99%9A%E6%8B%9F%E4%B8%BB%E6%9C%BA%E7%9A%84%E5%A4%9A%E4%B8%AA%20SSL%20%E8%AF%81%E4%B9%A6.png)
我们有一个 example.ca 的通配符 SSL 证书,运行 example.ca 的网站已设置 SSL 并正常运行。我们最近获得了 .com 域名,正在考虑为 .com 购买另一个通配符 SSL 证书
我知道虚拟主机和多个 SSL 站点存在问题,但是是否可以在同一个 VirtualHost 中拥有两个 SSL 证书?那么如果有人访问 example.ca 或 example.com,他们会获得两个证书,并且不会出现任何警告?
答案1
不可以。Apache 只能将 1 个 SSL 证书与任何给定的 IP/端口组合关联。
这是因为 SSL 协商首先发生,并且只有在建立了安全性之后,HTTP 才会开始流动。所请求站点的名称是 HTTP 请求的一部分。换句话说,当客户端连接到 1.2.3.4 上的端口 443 时,Apache 必须向其提供相关的 SSL 证书,而不知道它想要哪个站点。
有一个名为服务器名称指示它允许 SSL/TLS 客户端在初始 SSL/TLS 握手中提供名称,但 SNI 尚未得到广泛采用,其目前最大的缺点是运行在 Windows XP 上的任何版本的 IE 都完全不支持它。