Forbidden(403),访问apache 2.2.22上的服务器状态

尝试访问www.website.com/server-status时出现Forbidden错误

mod_status已启用

虚拟主机

<VirtualHost *:8080> ServerName website.com ServerAlias www.website.com DocumentRoot /var/www/wordpress/ DirectoryIndex index.php <Directory /var/www/wordpress/> AllowOverride All Order Deny,Allow Allow from all Options +Indexes </Directory> <Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from .website.com </Location> ErrorLog /var/www/wordpress/logs/error.log CustomLog /var/www/wordpress/logs/access.log combined </VirtualHost> 

我试图将允许从.website.com更改为网站IP,并发生同样的问题。 当我尝试将其更改为允许从所有我得到一个404。

我做的另一个尝试是设置允许从127.0.0.1和通过lynx从服务器内访问,几乎相同的问题。

这是error.log中收到的错误:

 [error] [client 127.0.0.1] client denied by server configuration: /var/www/wordpress/server-status 

此外,我已经禁用了status.conf位置覆盖,以确保唯一的服务器状态定义将在VirtualHost中。 在apache.conf中设置服务器状态位置提供了相同的结果。

任何想法我错过了什么?

我已经尝试协助以下资源,但没有提供给我一个解决scheme:

  1. Apache模块mod_status
  2. Apache服务器状态403在非标准端口
  3. Apachelounge后

谢谢

“允许”行不一定与您的网站有关。 Allow from允许具有指定IP地址(或parsing为IP的域名)的用户访问您的网站。

所以如果你家的IP地址是2.2.2.2,那么你可以放allow from 2.2.2.2allow from yourownwebsite.com

这应该修复你的403(禁止),虽然我知道你说你试过把它改成127.0.0.1,然后直接从服务器上访问它。 您是否尝试将127.0.0.1更改为localhost

现在,关于404.这完全是一个不同的问题。 这是一个“未find”的错误,而不是一个“禁止”的错误。

默认情况下,VirtualHost容器并不真正用于mod_status。 它根本不会工作。 根据这个网站 ,你有两个select:

  1. 让服务器监听另一个端口(如8080)
  2. 将星号更改为您的服务器的公共IP地址 – 然后, 只能从localhost / 127.0.0.1访问服务器状态

检查你是否有正确的VertualHostconfiguration。 您可以尝试为127.0.0.1创buildVirtualHostconfiguration,如下所示:

 <VirtualHost *:80> ServerAdmin [email protected] ServerName 127.0.0.1 DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www> Options +FollowSymLinks AllowOverride None order allow,deny allow from all </Directory> </VirtualHost> 

在这里find它