mirror of
https://github.com/apache/httpd.git
synced 2025-11-02 06:53:27 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1774505 13f79535-47bb-0310-9956-ffa450edef68
188 lines
7.7 KiB
XML
188 lines
7.7 KiB
XML
<?xml version="1.0"?>
|
|
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
|
<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
|
|
<!-- $LastChangedRevision$ -->
|
|
|
|
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
contributor license agreements. See the NOTICE file distributed with
|
|
this work for additional information regarding copyright ownership.
|
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
(the "License"); you may not use this file except in compliance with
|
|
the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
|
|
<modulesynopsis metafile="mod_info.xml.meta">
|
|
|
|
<name>mod_info</name>
|
|
<description>Provides a comprehensive overview of the server
|
|
configuration</description>
|
|
<status>Extension</status>
|
|
<sourcefile>mod_info.c</sourcefile>
|
|
<identifier>info_module</identifier>
|
|
|
|
<summary>
|
|
<p>To configure <module>mod_info</module>, add the following to your
|
|
<code>httpd.conf</code> file.</p>
|
|
|
|
<highlight language="config">
|
|
<Location "/server-info">
|
|
SetHandler server-info
|
|
</Location>
|
|
</highlight>
|
|
|
|
<p>You may wish to use <module>mod_authz_host</module> inside the
|
|
<directive type="section" module="core">Location</directive>
|
|
directive to limit access to your server configuration
|
|
information:</p>
|
|
|
|
<highlight language="config">
|
|
<Location "/server-info">
|
|
SetHandler server-info
|
|
Require host example.com
|
|
</Location>
|
|
</highlight>
|
|
|
|
<p>Once configured, the server information is obtained by
|
|
accessing <code>http://your.host.example.com/server-info</code></p>
|
|
</summary>
|
|
|
|
<section id="security"><title>Security Issues</title>
|
|
<p>Once <module>mod_info</module> 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 <module>mod_authz_host</module>
|
|
to limit access to your server configuration information.</p>
|
|
|
|
<example><title>Access control</title>
|
|
<highlight language="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>
|
|
</highlight>
|
|
</example>
|
|
</section>
|
|
|
|
<section id="queries"><title>Selecting the information shown</title>
|
|
<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>
|
|
</section>
|
|
|
|
<section id="startup"><title>Dumping the configuration on startup</title>
|
|
<p>If the config define <code>-DDUMP_CONFIG</code> is set,
|
|
<module>mod_info</module> will dump the pre-parsed configuration to
|
|
<code>stdout</code> during server startup.</p>
|
|
|
|
<highlight language="sh">
|
|
httpd -DDUMP_CONFIG -k start
|
|
</highlight>
|
|
|
|
<p>Pre-parsed means that directives like
|
|
<directive type="section" module="core">IfDefine</directive> and
|
|
<directive type="section" module="core">IfModule</directive> 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>
|
|
</section>
|
|
|
|
<section id="limitations"><title>Known Limitations</title>
|
|
<p><module>mod_info</module> 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
|
|
<directive module="core">ServerRoot</directive>,
|
|
<directive module="mod_so">LoadModule</directive>, and
|
|
<directive module="mod_so">LoadFile</directive>.</li>
|
|
<li>Directives which control the configuration file itself, such as
|
|
<directive module="core">Include</directive>,
|
|
<directive type="section" module="core">IfModule</directive> and
|
|
<directive type="section" module="core">IfDefine</directive> 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
|
|
<directive type="section" module="core">Directory</directive>
|
|
are listed normally, but <module>mod_info</module> cannot figure
|
|
out the line number for the closing
|
|
<directive type="section" module="core" name="Directory">/Directory</directive>.</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>
|
|
</section>
|
|
|
|
<directivesynopsis>
|
|
<name>AddModuleInfo</name>
|
|
<description>Adds additional information to the module
|
|
information displayed by the server-info handler</description>
|
|
<syntax>AddModuleInfo <var>module-name</var> <var>string</var></syntax>
|
|
<contextlist><context>server config</context><context>virtual host</context>
|
|
</contextlist>
|
|
|
|
<usage>
|
|
<p>This allows the content of <var>string</var> to be shown as
|
|
HTML interpreted, <strong>Additional Information</strong> for
|
|
the module <var>module-name</var>. Example:</p>
|
|
|
|
<highlight language="config">
|
|
AddModuleInfo mod_deflate.c 'See <a \
|
|
href="http://httpd.apache.org/docs/&httpd.docs;/mod/mod_deflate.html">\
|
|
http://httpd.apache.org/docs/&httpd.docs;/mod/mod_deflate.html</a>'
|
|
</highlight>
|
|
</usage>
|
|
|
|
</directivesynopsis>
|
|
</modulesynopsis>
|