基于名称的 SSL 虚拟主机 ubuntu 16 和 apache 2.4

基于名称的 SSL 虚拟主机 ubuntu 16 和 apache 2.4

我已经为端口 80 正确设置了基于名称的托管。

我的问题是,对于端口 443,如果我的虚拟主机上基于名称的站点没有启用端口 443,或者如果我a2dissite为站点进行了配置,则该站点的 https 版本似乎会尝试打开服务器上另一个站点的 https 版本。

更多细节

我在可用的站点中设置了 site1.conf

<Virtualhost *:80>

ServerName www.site1.com
ServerAlias site1.com
DocumentRoot /var/www/html/site1
.....

</VirtualHost>
<Virtualhost *:443>

ServerName www.site1.com
ServerAlias site1.com
DocumentRoot /var/www/html/site1
.....
SSLEngine On
... all other certificate params

</VirtualHost>

对于 site2.conf

<Virtualhost *:80>

ServerName www.site2.com
ServerAlias site2.com
DocumentRoot /var/www/html/site2
.....

</VirtualHost>
<Virtualhost *:443>

ServerName www.site2.com
ServerAlias site2.com
DocumentRoot /var/www/html/site2
.....
SSLEngine On
... all other certificate params

</VirtualHost>

如果两个 SSL 都没问题,那么一切就可以正常工作。

我决定使用 a2dissite site2.conf。如果我打开 https ://www. site2.com,它会抛出一个错误,即 SSL 配置仅适用于 www.site1.com,这意味着 a2dissite site2.conf 未禁用 site2 的 https 部分,但 http :// www.site2.com 打开了默认根目录,这没问题。如何确保 https :// www.site2.com 也显示默认的 apache 根目录,而不是使用 site1.com SSL 并抛出错误?

相关内容