基於名稱的 SSL 虛擬主機 ubuntu 16 和 apache 2.4

基於名稱的 SSL 虛擬主機 ubuntu 16 和 apache 2.4

我已經為連接埠 80 正確設定了基於名稱的託管。

我的問題是,對於連接埠 443,如果我的虛擬主機上基於名稱的網站未啟用連接埠 443,或者如果我a2dissite為網站進行了配置,則該網站的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 並引發錯誤?

相關內容