如果透過 https 請求未啟用 SSL 的網域,Apache 是否會在同一台伺服器上提供不同的啟用 SSL 的網域?

如果透過 https 請求未啟用 SSL 的網域,Apache 是否會在同一台伺服器上提供不同的啟用 SSL 的網域?

我在 Apache 伺服器上託管多個網站(例如http://www.example.com),其中只有一個具有 SSL 憑證(例如https://www.example.net)。是否可以設定 Apache 以便嘗試瀏覽https://www.example.com不會導致 Apache 服務https://www.example.net?如果是這樣,怎麼辦?

我問這個是因為我的託管提供者聲明:

...如果嘗試對伺服器上的任何 IP 進行 SSL 連接,且該網域沒有可用的 SSL 虛擬主機,則會連接到列出的第一個可用的 SSL 虛擬主機。 ....如果電腦上有多個 SSL 虛擬主機,當沒有匹配時,它將自動連接到 httpd.conf 檔案中顯示的第一個虛擬主機。

答案1

預設情況下,您根本不會獲得重定向,但正如您的託管提供者所述:如果沒有為網域配置虛擬主機,則第一個 VirtualHost 是顯示的預設值。那是在您忽略 Web 瀏覽器產生的 SSL 警告之後...

如果您僅啟用了 SSL/TLS,www.example.net則連線到https://any-domainhttps://<ip-address of your server>.

因此,在有效域的 VirtualHost 節之前設定一個空白網站作為第一個 VirtualHost 是很常見的。

<VirtualHost *:443>
    ServerName localhost
    DocumentRoot /var/www/empty
</VirtualHost>
<VirtualHost *:443>
    ServerName www.example.net
    DocumentRoot /var/www/example.net
</VirtualHost>

相關內容