Apache状态页需完成三步:加载mod_status模块、配置<Location "/server-status">路径、设置IP限制的访问控制;默认关闭且403拒绝,必须显式启用并安全配置才可用。

Apache 状态页面(/server-status)不是开个开关就能用的,必须完成模块加载、路径注册、访问控制三步,缺一不可。默认关闭且无权限,直接访问会返回 403。
确认并启用 mod_status 模块
该模块是状态页的数据来源,多数 Apache 2.4+ 已内置为共享模块,但需显式启用:
- 检查是否已加载:运行
httpd -M | grep status_module(RHEL/CentOS)或apache2ctl -M | grep status(Debian/Ubuntu),输出含status_module (shared)才算成功 - 若无输出,打开
httpd.conf或/etc/httpd/conf.modules.d/*.conf,找到类似行:LoadModule status_module modules/mod_status.so
若被注释(开头有#),删掉并保存 - 执行
httpd -t验证语法,再systemctl restart httpd生效
配置 /server-status 访问路径
仅加载模块不会自动暴露页面,必须在 httpd.conf(或虚拟主机配置)中定义处理规则:
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
- 添加如下区块(路径可自定义,但
/server-status是通用约定):
<Location "/server-status">
SetHandler server-status
</Location> - 重启后访问
http://your-ip/server-status,若仍 403,说明权限未放行——这是正常现象,下一步必须做
设置安全访问控制(关键!)
生产环境绝不能用 Require all granted 或 Allow from all(Apache 2.2 旧语法已失效):
- 在
<Location "/server-status">内加入明确 IP 限制,例如:
Require ip 127.0.0.1
Require ip 192.168.10.0/24 - 如需密码认证,额外加:
AuthType Basic
AuthName "Apache Status"
AuthUserFile /etc/httpd/.htpasswd
Require valid-user - 避免用
Require local:在容器、IPv6 或反向代理下可能不匹配本地回环
开启实时刷新与机器可读数据
状态页支持两种实用模式:
- 人工查看:加
?refresh=5实现每 5 秒自动刷新,如/server-status?refresh=5 - 脚本/监控集成:用
?auto返回纯文本指标,例如:curl -s http://localhost/server-status?auto | grep -E "BusyWorkers|IdleWorkers|ReqPerSec" - 如需每个 worker 的详细阶段(R/W/K/_)、响应耗时等,全局配置中设
ExtendedStatus On;长期运行建议保持Off以减少开销

















