- accessing <code>http://your.host.dom/server-info</code></p>
-
- <div class="note">
- Note that the configuration files are read by the
- module at run-time, and therefore the display may
- <em>not</em> reflect the running server's active
- configuration if the files have been changed since the server
- was last reloaded. Also, the configuration files must be
- readable by the user as which the server is running (see the
- <code class="directive"><a href="../mod/mpm_common.html#user">User</a></code> directive), or
- else the directive settings will not be listed.
-
- <p>It should also be noted that if
- <code class="module"><a href="../mod/mod_info.html">mod_info</a></code> is compiled into the server, its
- handler capability is available in <em>all</em> configuration
- files, including per-directory files (<em>e.g.</em>,
- <code>.htaccess</code>). This may have security-related
- ramifications for your site.</p>
-
- <p>In particular, this module can leak sensitive information
- from the configuration directives of other Apache modules such as
- system paths, usernames/passwords, database names, etc. Due to
- the way this module works there is no way to block information
- from it. Therefore, this module should <strong>only</strong> be
- used in a controlled environment and always with caution.</p>
- </div>
-</div><div id="quickview"><h3 class="directives">Directives</h3><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#addmoduleinfo">AddModuleInfo</a></li>
-</ul></div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div><div class="directive-section"><h2><a name="AddModuleInfo" id="AddModuleInfo">AddModuleInfo</a> <a name="addmoduleinfo" id="addmoduleinfo">Directive</a></h2><table class="directive"><tr><th><a href="directive-dict.html#Description">Description:
- </a></th><td>Adds additional information to the module
-information displayed by the server-info handler</td></tr><tr><th><a href="directive-dict.html#Syntax">Syntax:
- </a></th><td><code>AddModuleInfo <var>module-name</var> <var>string</var></code></td></tr><tr><th><a href="directive-dict.html#Context">Context:
- </a></th><td>server config, virtual host</td></tr><tr><th><a href="directive-dict.html#Status">Status:
- </a></th><td>Extension</td></tr><tr><th><a href="directive-dict.html#Module">Module:
- </a></th><td>mod_info</td></tr><tr><th><a href="directive-dict.html#Compatibility">Compatibility:
- </a></th><td>Apache 1.3 and above</td></tr></table>
+ accessing <code>http://your.host.example.com/server-info</code></p>
+</div>
+<div id="quickview"><h3>Topics</h3>
+<ul id="topics">
+<li><img alt="" src="../images/down.gif" /> <a href="#security">Security Issues</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#queries">Selecting the information shown</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#startup">Dumping the configuration on startup</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#limitations">Known Limitations</a></li>
+</ul><h3 class="directives">Directives</h3>
+<ul id="toc">
+<li><img alt="" src="../images/down.gif" /> <a href="#addmoduleinfo">AddModuleInfo</a></li>
+</ul>
+<h3>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_info">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_info">Report a bug</a></li></ul><h3>See also</h3>
+<ul class="seealso">
+<li><a href="#comments_section">Comments</a></li></ul></div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="security" id="security">Security Issues</a></h2>
+ <p>Once <code class="module"><a href="../mod/mod_info.html">mod_info</a></code> is loaded into the server, its
+ handler capability is available in <em>all</em> configuration
+ files, including per-directory files (<em>e.g.</em>,
+ <code>.htaccess</code>). This may have security-related
+ ramifications for your site.</p>
+
+ <p>In particular, this module can leak sensitive information
+ from the configuration directives of other Apache modules such as
+ system paths, usernames/passwords, database names, etc. Therefore,
+ this module should <strong>only</strong> be
+ used in a controlled environment and always with caution.</p>
+
+ <p>You will probably want to use <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>
+ to limit access to your server configuration information.</p>
+
+ <div class="example"><h3>Access control</h3><pre class="prettyprint lang-config"><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></pre>
+</div>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="queries" id="queries">Selecting the information shown</a></h2>
+ <p>By default, the server information includes a list of
+ all enabled modules, and for each module, a description of
+ the directives understood by that module, the hooks implemented
+ by that module, and the relevant directives from the current
+ configuration.</p>
+
+ <p>Other views of the configuration information are available by
+ appending a query to the <code>server-info</code> request. For
+ example, <code>http://your.host.example.com/server-info?config</code>
+ will show all configuration directives.</p>
+
+ <dl>
+ <dt><code>?<module-name></code></dt>
+ <dd>Only information relevant to the named module</dd>
+ <dt><code>?config</code></dt>
+ <dd>Just the configuration directives, not sorted by module</dd>
+ <dt><code>?hooks</code></dt>
+ <dd>Only the list of Hooks each module is attached to</dd>
+ <dt><code>?list</code></dt>
+ <dd>Only a simple list of enabled modules</dd>
+ <dt><code>?server</code></dt>
+ <dd>Only the basic server information</dd>
+ <dt><code>?providers</code></dt>
+ <dd>List the providers that are available on your server</dd>
+ </dl>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="startup" id="startup">Dumping the configuration on startup</a></h2>
+ <p>If the config define <code>-DDUMP_CONFIG</code> is set,
+ <code class="module"><a href="../mod/mod_info.html">mod_info</a></code> will dump the pre-parsed configuration to
+ <code>stdout</code> during server startup.</p>
+
+ <pre class="prettyprint lang-sh">httpd -DDUMP_CONFIG -k start</pre>
+
+
+ <p>Pre-parsed means that directives like
+ <code class="directive"><a href="../mod/core.html#ifdefine"><IfDefine></a></code> and
+ <code class="directive"><a href="../mod/core.html#ifmodule"><IfModule></a></code> are
+ evaluated and environment variables are replaced. However it does
+ not represent the final state of the configuration. In particular,
+ it does not represent the merging or overriding that may happen
+ for repeated directives.</p>
+
+ <p>This is roughly equivalent to the <code>?config</code> query.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
+<h2><a name="limitations" id="limitations">Known Limitations</a></h2>
+ <p><code class="module"><a href="../mod/mod_info.html">mod_info</a></code> provides its information by reading the
+ parsed configuration, rather than reading the original configuration
+ file. There are a few limitations as a result of the way the parsed
+ configuration tree is created:</p>
+ <ul>
+ <li>Directives which are executed immediately rather than being
+ stored in the parsed configuration are not listed. These include
+ <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>,
+ <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>, and
+ <code class="directive"><a href="../mod/mod_so.html#loadfile">LoadFile</a></code>.</li>
+ <li>Directives which control the configuration file itself, such as
+ <code class="directive"><a href="../mod/core.html#include">Include</a></code>,
+ <code class="directive"><a href="../mod/core.html#ifmodule"><IfModule></a></code> and
+ <code class="directive"><a href="../mod/core.html#ifdefine"><IfDefine></a></code> are not
+ listed, but the included configuration directives are.</li>
+ <li>Comments are not listed. (This may be considered a feature.)</li>
+ <li>Configuration directives from <code>.htaccess</code> files are
+ not listed (since they do not form part of the permanent server
+ configuration).</li>
+ <li>Container directives such as
+ <code class="directive"><a href="../mod/core.html#directory"><Directory></a></code>
+ are listed normally, but <code class="module"><a href="../mod/mod_info.html">mod_info</a></code> cannot figure
+ out the line number for the closing
+ <code class="directive"><a href="../mod/core.html#directory"></Directory></a></code>.</li>
+ <li>Directives generated by third party modules such as <a href="http://perl.apache.org">mod_perl</a>
+ might not be listed.</li>
+ </ul>
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="AddModuleInfo" id="AddModuleInfo">AddModuleInfo</a> <a name="addmoduleinfo" id="addmoduleinfo">Directive</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Adds additional information to the module
+information displayed by the server-info handler</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>AddModuleInfo <var>module-name</var> <var>string</var></code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host</td></tr>
+<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Extension</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_info</td></tr>
+</table>