Apache HTTP Server 版本2.2
说明 | 生成Apache配置情况的Web页面 |
---|---|
状态 | 扩展(E) |
模块名 | info_module |
源文件 | mod_info.c |
要配置mod_info
请将下列内容加入httpd.conf
文件。
<Location /server-info>
SetHandler server-info
</Location>
你可能希望在<Location>
指令中使用mod_access
来限制对服务器配置信息的访问:
<Location /server-info>
SetHandler server-info
Order deny,allow
Deny from all
Allow from yourcompany.com
</Location>
一旦配置完成,你的服务器信息就可以通过访问http://your.host.example.com/server-info
得到。
一旦mod_info
被加载,它的处理能力就在所有配置文件中生效,包括.htaccess
文件。这可能给网站带来安全问题。
特别的,该模块还会泄漏许多配置信息,比如:系统路径、用户名/密码、数据库名称等等。而且根据此模块的工作方式,无法对它产生的信息进行屏蔽。因此,应当仅仅在受控环境下使用该模块,并且始终保持警惕。
你可以使用mod_authz_host
来限制对这些敏感信息的访问:
<Location /server-info>
SetHandler server-info
Order allow,deny
# 允许本机自身访问
Allow from 127.0.0.1
# 还允许局域网内的另外一台机器访问
Allow from 192.168.1.17
</Location>
默认情况下显示的信息:所有启用的模块、每个模块的指令说明、每个模块的钩子、当前配置信息。
还可以通过在server-info
后面加上请求字符串来查看特定的信息。比如 http://your.host.example.com/server-info?config
将显示所有配置指令。
?<module-name>
?config
?hooks
?list
?server
由于mod_info
提供的信息是根据已经解析过配置树提供的,而不是原始的配置文件,因此有以下局限:
ServerRoot
, LoadModule
, LoadFile
。Include
, <IfModule>
, <IfDefine>
。但是通过Include
包含进来的指令将会被列出。.htaccess
文件中的配置指令不会被列出。mod_info
不会计算</Directory>
容器中的行号。mod_perl
)的指令有可能不会被列出。说明 | 为server-info处理器显示的模块增加额外信息 |
---|---|
语法 | AddModuleInfo module-name string |
作用域 | server config, virtual host |
状态 | 扩展(E) |
模块 | mod_info |
兼容性 | 仅用于 Apache 1.3 及以上版本 |
本指令将string的内容作为module-name模块的额外信息以带HTML注解的方式显示。例如:
AddModuleInfo mod_deflate.c 'See <a \
href="http://www.apache.org/docs/2.2/mod/mod_deflate.html">\
http://www.apache.org/docs/2.2/mod/mod_deflate.html</a>'