Apache-2.2

使用 Apache 版本 httpd-2.2.3-31 在 Centos 上啟用 /server-status 時出現錯誤消息

  • November 14, 2018

我在 httpd.conf 上啟用了以下功能:

擴展狀態開啟

LoadModule status_module modules/mod_status.so

並且:


名稱虛擬主機 *:80

<VirtualHost *:80>
 ServerName myserver.com
 ServerAlias myserver.com 

 DocumentRoot /prod/html

 RewriteEngine on
 RewriteCond %{HTTP_HOST} .*myserver.com$
 RewriteRule /(.*) http://myserver.com/$1 [R,L]





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

</VirtualHost>

執行時**lynx http://localhost/server-status** 收到以下消息: 您無權訪問此伺服器上的 /server-status。

我在 /etc/httpd 文件夾中沒有看到與 /server-status 相關的任何內容,這些是我在 /etc/httpd 下的文件夾:

**conf
conf.d
logs -> ../../var/log/httpd
modules -> ../../usr/lib/httpd/modules
run -> ../../var/run**

知道為什麼我會收到**“權限被拒絕”**錯誤嗎?我需要安裝另一個包來獲取它嗎?謝謝!!多坦。

嘗試使用 IP 而不是主機名,這就是我的樣子( ::1 在那裡,因為伺服器也啟用了 IPv6)

<Location /server-status>
   SetHandler server-status
   Order deny,allow
   Deny from all
   Allow from 127.0.0.1 ::1
</Location>

使用

lynx http://localhost/server-status 

可能與虛擬主機“myserver.com”不匹配,因此您可以嘗試將位置 /server-status 放在 http.conf 中的 VirtualHost 之外

以防萬一這有助於某人:

在較新版本的 Apache 中,conf/extra/httpd-info.conf中有一個預設的伺服器狀態配置設置,它將覆蓋 httpd.conf中的任何伺服器狀態設置

conf/extra/httpd-info.conf 中的預設配置設置為“允許來自 .example.com”,並且將消除您在 httpd.conf 中所做的所有花哨的伺服器狀態更改

因此,如果您遇到權限問題,請確保您正在編輯正確的文件!

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