Apache-2.2

通過密碼保護 apache2 伺服器狀態處理程序

  • February 19, 2021

在我的 apache2 伺服器中,我訪問/server-status以檢查我目前的網路伺服器狀態。我發現 mods-available/status.conf 包含負責顯示狀態的片段。

<Location /server-status>
   SetHandler server-status
   Order deny,allow
   Deny from all
   Allow from localhost ip6-localhost
</Location>

我的問題是如何使它不僅可用於本地主機,而且可用於具有身份驗證的遠端主機?

要允許其他主機,您只需更新行:

Allow from localhost ip6-localhost

讀書:

Allow from localhost ip6-localhost 1.2.3.4 1.2.3

對於身份驗證部分,您添加如下塊:

AuthType Basic
AuthName "Restricted Files"
# (Following line optional)
AuthBasicProvider file
AuthUserFile /usr/local/apache/passwd/passwords
Require user rbowen 

passwords文件需要使用htpasswd實用程序創建。請查看此頁面以獲取更多詳細資訊。

在該<Location /server-status>節中,同時包含 theAllow from localhost和 authentication 指令。關鍵是用來Satisfy Any指定來自localhost的請求可以繞過認證。

***編輯:***明確的例子,根據要求(它只是結合了迄今為止每個人所說的一切):

<Location /server-status>
   SetHandler server-status
   Order deny,allow
   Deny from all
   Satisfy Any

   Allow from localhost ip6-localhost

   AuthType basic
   AuthName "Apache status"
   AuthUserFile /etc/apache2/passwd-server-status
   Require valid-user
</Location>

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