![使用 https 时没有进入正确的网站根目录](https://linux22.com/image/570247/%E4%BD%BF%E7%94%A8%20https%20%E6%97%B6%E6%B2%A1%E6%9C%89%E8%BF%9B%E5%85%A5%E6%AD%A3%E7%A1%AE%E7%9A%84%E7%BD%91%E7%AB%99%E6%A0%B9%E7%9B%AE%E5%BD%95.png)
我们在 Apache 服务器上托管了 2 个站点。使用 port80 的一切都运行良好,但当我们尝试使用 https 连接时,无论我们使用哪个 URL,我们都会被重定向到 port443 的第一个文档目录。我们有一个为两个域正确设置的 SAN(UCC) SSL 证书。有人能帮我们找到解决方案吗https://website2.com最终不会结束于https://website1.com
<VirtualHost *:443>
ServerName website1.com
DocumentRoot /var/www/website1
</VirtualHost>
<VirtualHost *:443>
ServerName website2.com
DocumentRoot /var/www/website2
</VirtualHost>
答案1
Apache 的常见配置错误,如下:http://wiki.apache.org/httpd/CommonMisconfigurations#Multiple_SSL_name_based_virtual_hosts_on_the_same_interface:
由于 SSL 的性质,建立 SSL 连接时不使用主机信息。Apache 将始终使用默认虚拟主机的证书,该证书是基于名称的虚拟主机的第一个定义的虚拟主机。
您想要实现的功能称为“SNI”,只有在使用 2.2.12 或更高版本的 Web 服务器、使用 0.9.8j 或更高版本的 OpenSSL 构建时才有可能,并且仅与较新的浏览器兼容。