Apache2 設定問題 - 拒絕來自外部 IP,透過主機名稱允許

Apache2 設定問題 - 拒絕來自外部 IP,透過主機名稱允許

我已經搞亂了幾天了,似乎無法讓它發揮作用。我有 2 個網站透過它們自己的設定檔啟用。 site1.conf 和 site2.conf

每個站點都有來自 Let's Encrypt 的重寫規則,將它們路由到 site*-le-ssl.conf

有一個問題,當我在瀏覽器中輸入我的公共 IP 時,它正在加載 site1,我希望出現諸如禁止之類的錯誤或加載我的 site1 之外的其他內容。

網站 2 似乎僅在由其主機名稱指定時才載入。

site1.conf 是

<VirtualHost *:80>
     ServerAdmin [email protected]
     ServerName site1.mydomian.com
     ServerAlias site1.mydomian.com
     DocumentRoot /var/www/site1
     <Directory /var/www/site1>
         Options FollowSymLinks
         AllowOverride All
         Require all granted
         Header always set X-Frame-Options "SAMEORIGIN"
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/site1_error.log
     CustomLog ${APACHE_LOG_DIR}/site1_access.log combined

     RewriteEngine on
     RewriteCond %{SERVER_NAME} =site1.mydomian.com
     RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

site1-le-ssl.conf 是

<IfModule mod_ssl.c>
<VirtualHost *:443>
     ServerAdmin [email protected]
     ServerName site1.mydomian.com
     ServerAlias site1.mydomian.com
     DocumentRoot /var/www/site1/
     <Directory /var/www/site1>
         Options FollowSymLinks
         AllowOverride All
         Require all granted
         Header always set X-Frame-Options "SAMEORIGIN"
     </Directory>

        ErrorLog ${APACHE_LOG_DIR}/site1_error.log
        CustomLog ${APACHE_LOG_DIR}/site1_access.log combined

        SSLCertificateFile /etc/letsencrypt/live/site1.mydomian.com/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/site1.mydomian.com/privkey.pem
        Include /etc/letsencrypt/options-ssl-apache.conf

</VirtualHost>

</IfModule>

即使我使用a2dissite site1apache 禁用了 site1.conf 並重新加載,該網站在透過公共 ip 存取時仍然會加載。

在我的 apache2.conf 檔案中,我將其更改為“要求全部被拒絕”,但仍在載入 site1。

<Directory /var/www/>
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

當我將 /var/www/site1 重命名為 /var/www/site1.old ,然後透過公共 ip 存取時,我得到了一個禁止頁面,這正是我透過 ip 訪問所期望的。

有什麼想法如何透過主機名稱 site1.mydomain.com 啟用並存取 site1 而不是透過公用 IP?

相關內容