mod_info
描述: | 提供服务器 configuration 的全面概述 |
状态: | 延期 |
模块标识符: | info_module |
源文件: | mod_info.c |
摘要
要配置mod_info,请将以下内容添加到httpd.conf
文件中。
<Location "/server-info"> SetHandler server-info </Location>
您可能希望在<Location>指令中使用mod_authz_host来限制对服务器 configuration 信息的访问:
<Location "/server-info"> SetHandler server-info Require host example.com </Location>
配置完成后,通过访问http://your.host.example.com/server-info
获取服务器信息
安全问题
将mod_info加载到服务器后,其处理程序功能在所有 configuration files 中都可用,包括 per-directory files(e.g.,.htaccess
)。这可能会对您的网站产生 security-related 分支。
特别是,此模块可能会泄漏来自其他 Apache 模块的 configuration 指令的敏感信息,例如 system paths,usernames/passwords,数据库名称等。因此,此模块应该**仅在受控环境中使用并始终谨慎使用。
您可能希望使用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>
选择显示的信息
默认情况下,服务器信息包括所有已启用模块的列表,并且对于每个模块,包括该模块所理解的指令的描述,该模块实现的挂钩以及当前 configuration 中的相关指令。
通过将查询附加到server-info
请求,可以获得 configuration 信息的其他视图。例如,http://your.host.example.com/server-info?config
将显示所有 configuration 指令。
?<module-name>
仅与指定模块相关的信息?config
只是 configuration 指令,没有按模块排序?hooks
只附加每个模块的挂钩列表?list
只有启用模块的简单列表?server
只有基本的服务器信息?providers
列出服务器上可用的提供程序
在启动时转储 configuration
如果设置了 config define -DDUMP_CONFIG
,mod_info将在服务器启动期间将 pre-parsed configuration 转储到stdout
。
httpd -DDUMP_CONFIG -k start
Pre-parsed 表示评估像<IfDefine>和<IfModule>这样的指令,并替换环境变量。但它并不代表 configuration 的最终 state。特别是,它不代表重复指令可能发生的合并或重写。
这大致相当于?config
查询。
已知限制
mod_info通过读取解析的 configuration 来提供其信息,而不是读取原始的 configuration 文件。由于解析的 configuration 树的创建方式,存在一些限制:
- 不会列出立即执行而非存储在已解析的 configuration 中的指令。这些包括ServerRoot,LoadModule和LoadFile。
- 未列出控制 configuration 文件本身的指令,例如包括,<IfModule>和<IfDefine>,但包含的 configuration 指令是。
- Comments 未列出。(这可能被认为是 feature.)
- 未列出
.htaccess
files 的 Configuration 指令(因为它们不构成永久服务器 configuration 的一部分)。 - 容器指令(如<Directory>)通常列出,但mod_info无法找出</Directory>的 line 数。
- 可能未列出由第一方模块(如mod_perl)生成的指令。
AddModuleInfo 指令
描述: | 向 server-info 处理程序显示的模块信息添加其他信息 |
句法: | AddModuleInfo module-name string |
Context: | server config,virtual host |
状态: | 延期 |
模块: | mod_info |
这允许 string 的内容显示为 HTML 解释,附加信息为模块 module-name。例:
AddModuleInfo mod_deflate.c 'See <a href="http://httpd.apache.org/docs/2.4/mod/mod_deflate.html"> http://httpd.apache.org/docs/2.4/mod/mod_deflate.html</a>'