启用 mod_info 后访问 /server-info 可获取 Apache 实时配置快照,涵盖模块、虚拟主机、.htaccess 覆盖、钩子及全部生效配置;需正确加载模块、配置 Location 处理器、限制访问权限,并利用查询参数聚焦分析。

直接启用 mod_info 后访问 /server-info,就能看到 Apache 运行时的完整配置快照——包括已加载模块、各模块支持的指令、虚拟主机列表、目录级覆盖(.htaccess 影响)、钩子注册情况,以及当前生效的全部配置行。它不是静态配置文件的复刻,而是服务器启动后解析、合并、继承后的实时视图,对排查配置冲突、验证模块行为、识别隐藏风险非常关键。
启用 mod_info 模块并暴露接口
确保模块已加载且路径可访问:
- 检查
httpd.conf或mods-enabled/目录中是否存在未注释的行:LoadModule info_module modules/mod_info.so - 在主配置或虚拟主机段中添加位置块(推荐放在
httpd-info.conf并通过Include引入):<Location "/server-info"><br> SetHandler server-info<br></Location>
- 重启 Apache:
sudo systemctl restart apache2(Debian/Ubuntu)或sudo systemctl restart httpd(RHEL/CentOS)
限制访问,防止敏感信息泄露
mod_info 会暴露真实路径、模块参数、数据库连接串、认证凭据(若配置在 httpd.conf 中)、SSL 私钥位置等——生产环境绝不可开放公网访问:
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
- 仅允许可信 IP(如运维跳板机):
Require ip 10.10.5.22 - 或仅限本地回环:
Require local - 也可结合域名白名单:
Require host admin.example.com - 避免使用
Require all granted,该配置等于将服务器“配置说明书”挂到互联网上
解读关键信息区块
访问 http://your-server/server-info 后,页面分为几大区域:
-
Server Settings:显示 MPM 类型(prefork/event)、最大请求并发数(
MaxRequestWorkers)、超时设置、日志级别等运行时参数 - Loaded Modules:列出所有启用模块及其编译状态(static/shared),点击模块名可展开其支持的所有指令及当前值
- Virtual Hosts:按监听地址+端口分组,展示每个虚拟主机的文档根目录、ServerName、SSL 配置、重写规则生效情况
-
Current Configuration:逐行显示最终生效的配置(含来自
.htaccess的覆盖),每行标注来源文件与行号,是定位“为什么某条指令没生效”的核心依据
进阶技巧:用查询参数聚焦分析
在 URL 后添加参数可切换视图,提升审计效率:
-
/server-info?config:只显示当前生效的完整配置文本(适合复制比对) -
/server-info?modules:仅列出模块清单及依赖关系 -
/server-info?Vhost:高亮显示所有虚拟主机配置块 -
/server-info?notable:隐藏默认值,只显示被显式修改过的配置项
mod_info 不是调试工具,而是配置真相的“X 光片”。它不修改任何东西,但能让你一眼看清 Apache 实际在怎么运行——配置是否被覆盖、模块是否真启用、虚拟主机是否绑定正确、安全策略是否落地。用好了,80% 的“配置明明写了却不生效”问题当场消失。

















