如何在Apache中的單ip伺服器上設定http網站和https網站?

如何在Apache中的單ip伺服器上設定http網站和https網站?

我想建立一個http網站:http://example1.com,以及一個 https 網站:https://example2.com使用以下配置:

Listen 80
Listen 443
NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:80>
    ServerName example1.com
    DocumentRoot /var/www/example1.com/public_html
</VirtualHost>

<VirtualHost *:443>
    ServerName example2.com
    DocumentRoot /var/www/example2.com/public_html
    SSLCertificateFile...
    SSLCertificateKeyFile...
    SSLEngine On
</VirtualHost>

但是,如果我訪問https://example1.com,我被重定向到https://example2.com。如果我訪問http://example2.com,我被重定向到http://example1.com。這不是我想要的。我想https://example1.comhttp://example2.com根本不存在。我該怎麼做?

答案1

將要必須定義另外兩個 VirtualHost 區塊。如果 Apache 找不到與該名稱相符的 VirtualHost,它將使用屬於該連接埠的第一個 VirtualHost。

當然,您不必提供同一個網站:

  • 您可以提供錯誤頁面,例如通用的404 未找到。這會惹惱人們。
  • 對於example2.com,您可以使用 RewriteRule 將所有 HTTP 訪客重新導向到 HTTPS。
  • 對於example1.com......好吧,我真的不明白為什麼你不透過 HTTPS 提供服務?

但是,您不能讓瀏覽器報告該網域不存在,因為無論如何存取它仍然是同一個網域。

相關內容