无法将 Apache 服务器状态页面限制为本地主机

Mad*_*rin 6 ubuntu apache-2.4 apache2

我在 Ubuntu 上使用 Apache 2.4.18。

我想只允许从本地主机读取服务器状态。

/etc/apache2/mods-enabled/status.conf我有:

<Location /server-status>
          SetHandler server-status
          Require ip 127.0.0.1
</Location>
Run Code Online (Sandbox Code Playgroud)

我已阅读https://httpd.apache.org/docs/2.4/howto/access.html并且我相信上述配置应该可以正常工作。我已重新启动 Apache 以确保新配置处于活动状态。然而,状态页面仍然可以从任何地方阅读。

/etc/apache2/sites-enabled/mysite.conf我有:

 DocumentRoot /var/www
 <Location />
        Require all granted
 </Location>
Run Code Online (Sandbox Code Playgroud)

我的配置有什么问题?

kri*_*sFR 3

据我所见,虚拟主机配置文件似乎优先于mod_status配置文件。

实际上,您将所有内容授予/inside mysite.conf

<Location />
        Require all granted
</Location>
Run Code Online (Sandbox Code Playgroud)

这导致每个人都可以访问/server-status

您必须管理/server-status虚拟主机配置文件本身的权限/etc/apache2/sites-enabled/status.conf

DocumentRoot /var/www
 <Location />
        Require all granted
 </Location>
 <Location /server-status>
        Require local
 </Location>
Run Code Online (Sandbox Code Playgroud)

从那里开始,您在其中设置的任何权限都/etc/apache2/mods-enabled/status.conf将被忽略并/etc/apache2/sites-enabled/status.conf优先。