Apache 之 mod_status 配置问题解决(403, 404错误)

为了使用监控宝来监控比尔盖子Apache的运行状态,比尔盖子打算启用mod_status模块来访问biergaizi.com/server-status页面。

结果,屡次失败。后来干脆把安全严重去掉,直接将以下配置添加到/etc/apache2/httpd.conf中,也根本不管用,永远提示403错误:
ExtendedStatus On
<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Allow from all
</Location>
难道是这个模块有专门的配置文件被引用,从而覆盖了盖子的设置?经过长期奋战,终于最后通过文本流搜索,找到了/etc/apache2/mods-enabled/status.conf文件:
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1 ::1
原来只允许127.0.0.1,难怪无法访问。但是去掉这个安全规则之后,确实再也不提示403了,反而变成盖子博客的404页面了。难道是和虚拟主机的配置冲突?经过搜索,发现确实如此。解决之一是将Virtualhost中所有的*:80都变成具体的IP地址,但是这个规则是控制面板管理的,还是不动为好;或者为/server-status专门指定一个监听端口,直接在前面加上Listen 8050之类的端口就行了。 最后的规则如下:
#专门监听2500端口
Listen 2500
ExtendedStatus On

SetHandler server-status
Order deny,allow
Deny from all
#只允许监控宝
Allow from 60.195.252.106
当然,不要尝试访问http://biergaizi.com:2500/server-status/页面,你连403页面也看不见的——有iptables!想看看iptables规则?保密,稍后公布。

文章来源:http://biergaizi.info/archives/2012/06/1354.html

你可能感兴趣的:(Apache 之 mod_status 配置问题解决(403, 404错误))