Ubuntu

無法將 Apache 伺服器狀態頁面限制為 localhost

  • January 14, 2021

我在 Ubuntu 上使用 Apache 2.4.18。

我想只允許從本地主機讀取伺服器狀態。

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

<Location /server-status>
         SetHandler server-status
         Require ip 127.0.0.1
</Location>

我已閱讀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>

我的配置有什麼問題?

據我所知,虛擬主機配置文件似乎優先於mod_status配置文件。

實際上,您將所有內容授予/within mysite.conf

<Location />
       Require all granted
</Location>

這導致每個人都可以訪問/server-status.

您必須管理/server-status虛擬主機配置文件本身的權限/etc/apache2/sites-enabled/status.conf

DocumentRoot /var/www
<Location />
       Require all granted
</Location>
<Location /server-status>
       Require local
</Location>

從那裡開始,您在其中設置的任何權限/etc/apache2/mods-enabled/status.conf都將被/etc/apache2/sites-enabled/status.conf優先忽略。

引用自:https://serverfault.com/questions/876115