亚马逊上有 1 个 Linux 主机,使用 Apache 作为网络服务器,并在其上配置了 3 个虚拟域。也使用了 SNI,并且所有 3 个域都安装了 SSL。每当访问其中任何一个域时,浏览器总是获取第一个域的 SSL 证书。为什么?
答案1
SNI 并非普遍受支持,因此每个 IP 只能可靠地拥有一个 SSL 站点,因为主机头的虚拟域需要访问加密有效负载。
答案2
好的,鉴于您提供的少量信息,几乎总是有效的唯一选项是:
- 每个虚拟主机获取一个IP
或者
- 获取包含这 3 个域名的证书
因为这样你就可以消除最常见的观点:配置错误或者丢失的新加坡国立大学
另外,请发布您的匿名错误日志(通常在/var/log/apache2/error.log)和httpd.conf + 包含的配置,以便我们能提供更好的答案。可能你的 Apache 没有编译 SNI,或者你没有使用mod_ssl用于 SSL 连接。