我们在 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 构建时才有可能,并且仅与较新的浏览器兼容。