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>'