🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# Apache模块 mod_info | [说明](#calibre_link-11) | 生成Apache配置情况的Web页面 | | --- | --- | | [状态](#calibre_link-12) | 扩展(E) | | [模块名](#calibre_link-13) | info_module | | [源文件](#calibre_link-14) | mod_info.c | ### 概述 要配置`mod_info`请将下列内容加入`httpd.conf`文件。 ``` <Location /server-info> SetHandler server-info </Location> ``` 你可能希望在`<Location>`指令中使用`mod_authz_host`来限制对服务器配置信息的访问: ``` <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` 将显示所有配置指令。 `?&lt;module-name&gt;` 仅显示与该模块相关的信息 `?config` 仅显示所有配置指令,不按模块分类 `?hooks` 仅显示每个模块所属钩子(Hook)列表 `?list` 仅显示所有启用的模块列表 `?server` 仅显示基本的服务器信息 ## 已知的局限 由于`mod_info`提供的信息是根据已经解析过配置树提供的,而不是原始的配置文件,因此有以下局限: * 立即执行而并不存储的指令不会被列出。包括:`ServerRoot`, `LoadModule`, `LoadFile` 。 * 控制配置文件自身行为的指令不会被列出,包括:`Include`, `<IfModule>`, `<IfDefine>` 。但是通过`Include`包含进来的指令将会被列出。 * 配置中的注释不会被列出。 * `.htaccess`文件中的配置指令不会被列出。 * 容器中的指令按原样列出,但是`mod_info`不会计算`</Directory>`容器中的行号。 * 第三方模块(如`mod_ssl`)的指令有可能不会被列出。 ## AddModuleInfo 指令 | [说明](#calibre_link-18) | 为server-info处理器显示的模块增加额外信息 | | --- | --- | | [语法](#calibre_link-19) | `AddModuleInfo module-name string` | | [作用域](#calibre_link-20) | server config, virtual host | | [状态](#calibre_link-21) | 扩展(E) | | [模块](#calibre_link-22) | mod_info | | [兼容性](#calibre_link-137) | 仅用于 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>' ```