apache 运维监控接口需启用 mod_status 和 mod_info 模块,配置 和 并设 require local,启用 extendedstatus on 获取详细统计,仅限本地访问以保障安全。

要在 Apache 中为运维监控接口(如 /server-status 和 /server-info)开放本地访问,核心是启用对应模块、配置访问控制,并确保仅允许本机(127.0.0.1 或 ::1)访问,兼顾安全与可用性。
启用 mod_status 和 mod_info 模块
这两个模块默认可能未加载。需确认主配置中已启用:
- 检查
/etc/httpd/conf/httpd.conf(CentOS/RHEL)或/etc/apache2/mods-enabled/status.load(Ubuntu/Debian),确保包含类似行: LoadModule status_module modules/mod_status.soLoadModule info_module modules/mod_info.so- 若使用
Include conf/extra/httpd-info.conf方式,需取消该行注释(去掉开头的#)
配置 /server-status 接口(推荐启用 ExtendedStatus)
在主配置或虚拟主机段中添加如下位置块:
<location>
SetHandler server-status
Require local
</location>
说明:
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
-
Require local等价于允许127.0.0.1和::1,无需写 IP 或域名,简洁且兼容 IPv4/v6 - 如需查看详细进程级统计(如每个 worker 的请求状态),取消注释
ExtendedStatus On(通常在httpd.conf全局区域) - 不建议用
Require ip 127.0.0.1,因 IPv6 本地地址会被拒绝
配置 /server-info 接口(仅限可信环境)
同理配置,但注意该接口暴露大量配置细节,生产环境应严格限制:
<location>
SetHandler server-info
Require local
</location>
说明:
- 确保该路径不被公网路由可达(防火墙+Apache 双重限制)
- 避免在共享服务器或容器环境中启用,防止配置信息泄露
- 若只需基础状态,可只开
/server-status,关闭/server-info
验证与测试
完成配置后执行:
-
sudo apachectl configtest或sudo systemctl reload httpd(确保语法正确并重载) - 在服务器本地执行:
curl http://localhost/server-status?auto—— 应返回机器可读的指标文本 - 从远程机器访问同一 URL 应返回 403 Forbidden
- 浏览器访问
http://localhost/server-status?refresh=2可实时刷新查看状态










