You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS7下Apache2.4 curl访问/server-status权限问题排查

解决CentOS 7下Apache 2.4 server-status权限拒绝问题

看起来你已经正确加载了mod_status模块并开启了ExtendedStatus,但问题出在没有给/server-status路径配置访问权限规则——Apache 2.4默认会拒绝所有未明确授权的请求。下面是具体的排查和解决步骤:

1. 添加server-status的访问权限配置

打开你的httpd.conf文件,在加载模块的代码段之后(比如你修改的第59行之后),添加以下配置块:

<Location "/server-status">
    SetHandler server-status
    # 允许本地主机(localhost、127.0.0.1)访问
    Require local
    # 可选:如果需要允许特定IP/网段访问,比如192.168.1.0/24,添加下面一行
    # Require ip 192.168.1
</Location>

Require local是Apache 2.4的权限语法,专门用来授权本地来源的请求,完全匹配你用curl http://localhost/server-status测试的场景。

2. 验证配置语法正确性

在重启服务前,先检查配置是否有语法错误,避免服务启动失败:

httpd -t

如果输出Syntax OK,说明配置没问题,可以继续下一步。

3. 重启Apache服务

执行命令重启服务,让新的配置生效:

systemctl restart httpd

4. 再次测试server-status

重新运行你的curl命令:

curl http://localhost/server-status

这次应该能正常返回服务器状态页面的文本内容了。

补充说明

Apache 2.4和旧版(2.2及以前)的权限配置语法差异很大,2.4使用Require指令替代了旧的Order allow,deny和Allow from规则。如果你之前有残留的旧风格配置,记得替换成2.4的语法,否则可能会导致权限规则冲突。

内容的提问来源于stack exchange,提问作者Ziggs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:33:04