Apache HTTP Server 版本 2.4

| 描述 | 提供服务器配置的全面概述 |
|---|---|
| 状态 | 扩展 |
| 模块标识符 | info_module |
| 源文件 | mod_info.c |
要配置 mod_info,请将以下内容添加到您的 httpd.conf 文件中。
<Location "/server-info">
SetHandler server-info
</Location>
您可能希望在 <Location> 指令中使用 mod_authz_host 来限制对服务器配置信息的访问
<Location "/server-info">
SetHandler server-info
Require host example.com
</Location>
配置完成后,可以通过访问 http://your.host.example.com/server-info 获取服务器信息
一旦 mod_info 加载到服务器中,它的处理程序功能就会在所有配置文件中可用,包括每个目录文件(例如,.htaccess)。这可能会对您的网站造成安全相关的影响。
特别是,此模块可能会泄露来自其他 Apache 模块配置指令的敏感信息,例如系统路径、用户名/密码、数据库名称等。因此,此模块仅应在受控环境中使用,并且始终谨慎使用。
您可能希望使用 mod_authz_host 来限制对服务器配置信息的访问。
<Location "/server-info">
SetHandler server-info
# Allow access from server itself
Require ip 127.0.0.1
# Additionally, allow access from local workstation
Require ip 192.168.1.17
</Location>
默认情况下,服务器信息包括所有已启用模块的列表,以及每个模块的描述,该模块理解的指令,该模块实现的钩子以及当前配置中的相关指令。
通过将查询附加到 server-info 请求,可以获得配置信息的其他视图。例如,http://your.host.example.com/server-info?config 将显示所有配置指令。
?<module-name>?config?hooks?list?server?providers如果配置定义 -DDUMP_CONFIG 已设置,则 mod_info 将在服务器启动期间将预解析的配置转储到 stdout。
httpd -DDUMP_CONFIG -k start
预解析意味着 <IfDefine> 和 <IfModule> 等指令将被评估,并且环境变量将被替换。但是,它不代表配置的最终状态。特别是,它不代表对重复指令可能发生的合并或覆盖。
这大致等同于 ?config 查询。
mod_info 通过读取解析的配置而不是读取原始配置文件来提供其信息。由于解析的配置树的创建方式,存在一些限制
ServerRoot、LoadModule 和 LoadFile。Include、<IfModule> 和 <IfDefine> 不会列出,但包含的配置指令会列出。.htaccess 文件的配置指令不会列出(因为它们不构成永久服务器配置的一部分)。<Directory>)会正常列出,但 mod_info 无法找出关闭 </Directory> 的行号。| 描述 | 向服务器信息处理程序显示的模块信息添加其他信息 |
|---|---|
| 语法 | AddModuleInfo module-name string |
| 上下文 | 服务器配置,虚拟主机 |
| 状态 | 扩展 |
| 模块 | mod_info |
这允许将 string 的内容显示为 HTML 解释的,其他信息,用于模块 module-name。示例
AddModuleInfo mod_deflate.c 'See <a \
href="https://httpd.apache.org/docs/2.4/mod/mod_deflate.html">\
https://httpd.apache.org/docs/2.4/mod/mod_deflate.html</a>'