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>

甚至当我禁用 site1.confa2dissite site1并重新加载 apache 时,该站点在通过公共 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 并通过主机名 site1.mydomain.com 而不是公共 IP 进行访问吗?

相关内容