On this page
Apache 模块 mod_info
Description: | 提供服务器配置的全面概述 |
---|---|
Status: | Extension |
Module Identifier: | info_module |
Source File: | mod_info.c |
Summary
要配置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
获得服务器信息。
Security Issues
mod_info加载到服务器后,它的处理程序功能将在所有配置文件中可用,包括按目录的文件(***,.htaccess
)。这可能会对您的站点产生与安全相关的后果。
特别是,此模块可能会泄漏其他 Apache 模块的配置指令中的敏感信息,例如系统路径,用户名/密码,数据库名称等。因此,该模块应仅在受控环境中使用,并且始终与警告。
您可能需要使用mod_authz_host来限制对服务器配置信息的访问。
Access control
<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
- 列出服务器上可用的提供程序
启动时转储配置
如果设置了 config define -DDUMP_CONFIG
,则mod_info将在服务器启动期间将预先解析的配置转储到stdout
。
httpd -DDUMP_CONFIG -k start
预先解析意味着对诸如<IfDefine>和<IfModule>之类的指令进行求值,并替换环境变量。但是,它不代表配置的最终状态。特别是,它并不表示重复指令可能发生的合并或覆盖。
这大致相当于?config
查询。
Known Limitations
mod_info通过读取已解析的配置而不是读取原始配置文件来提供其信息。由于创建了解析的配置树,因此存在一些限制:
没有列出立即执行而不是存储在已解析配置中的指令。其中包括ServerRoot,LoadModule和LoadFile。
未列出控制配置文件本身的伪指令,例如Include,<IfModule>和<IfDefine>,但包含的配置伪指令则未列出。
Comment 未列出。 (这可能被认为是一项功能.)
.htaccess
文件中的配置指令未列出(因为它们不构成永久服务器配置的一部分)。正常列出了诸如<Directory>之类的容器指令,但是mod_info无法找出结尾</Directory>的行号。
由第三方模块(例如mod_perl)生成的指令可能不会列出。
AddModuleInfo Directive
Description: | 将附加信息添加到由服务器信息处理程序显示的模块信息中 |
---|---|
Syntax: | AddModuleInfo module-name string |
Context: | 服务器配置,虚拟主机 |
Status: | Extension |
Module: | mod_info |
这允许将字符串的内容显示为 HTML 解释,模块的模块名称为“附加信息”。例:
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>'