--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+ <HEAD>
+ <TITLE>Definitions of terms used to describe Apache directives
+ </TITLE>
+ </HEAD>
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+ <BODY
+ BGCOLOR="#FFFFFF"
+ TEXT="#000000"
+ LINK="#0000FF"
+ VLINK="#000080"
+ ALINK="#FF0000"
+ >
+<!--#include virtual="header.html" -->
+ <H1 ALIGN="CENTER">Terms Used to Describe Apache Directives</H1>
+
+ <P>
+ Each Apache configuration directive is described using a common format
+ that looks like this:
+ </P>
+ <DL>
+ <DD><A
+ HREF="#Syntax"
+ REL="Help"
+ ><STRONG>Syntax:</STRONG></A> <EM>directive-name</EM> <EM>some args</EM>
+ <BR>
+ <A
+ HREF="#Default"
+ REL="Help"
+ ><STRONG>Default:</STRONG></A>
+ <SAMP><EM>directive-name default-value</EM></SAMP>
+ <BR>
+ <A
+ HREF="#Context"
+ REL="Help"
+ ><STRONG>Context:</STRONG></A> <EM>context-list</EM>
+ <BR>
+ <A
+ HREF="#Override"
+ REL="Help"
+ ><STRONG>Override:</STRONG></A> <EM>override</EM>
+ <BR>
+ <A
+ HREF="#Status"
+ REL="Help"
+ ><STRONG>Status:</STRONG></A> <EM>status</EM>
+ <BR>
+ <A
+ HREF="#Module"
+ REL="Help"
+ ><STRONG>Module:</STRONG></A> <EM>module-name</EM>
+ <BR>
+ <A
+ HREF="#Compatibility"
+ REL="Help"
+ ><STRONG>Compatibility:</STRONG></A> <EM>compatibility notes</EM>
+ </DD>
+ </DL>
+ <P>
+ Each of the directive's attributes, complete with possible values
+ where possible, are described in this document.
+ </P>
+
+ <H2>Directive Terms</H2>
+ <UL>
+ <LI><A HREF="#Syntax">Syntax</A>
+ </LI>
+ <LI><A HREF="#Default">Default</A>
+ </LI>
+ <LI><A HREF="#Context">Context</A>
+ </LI>
+ <LI><A HREF="#Override">Override</A>
+ </LI>
+ <LI><A HREF="#Status">Status</A>
+ </LI>
+ <LI><A HREF="#Module">Module</A>
+ </LI>
+ <LI><A HREF="#Compatibility">Compatibility</A>
+ </LI>
+ </UL>
+
+ <HR>
+ <H2><A NAME="Syntax">Syntax</A></H2>
+ <P>
+ This indicates the format of the directive as it would appear in a
+ configuration file. This syntax is extremely directive-specific, so
+ refer to the text of the directive's description for details.
+ </P>
+
+ <HR>
+ <H2><A NAME="Default">Default</A></H2>
+ <P>
+ If the directive has a default value (<EM>i.e.</EM>, if you omit it
+ from your configuration entirely, the Apache Web server will behave as
+ though you set it to a particular value), it is described here. If
+ there is no default value, this section should say
+ "<EM>None</EM>".
+ </P>
+
+ <HR>
+ <H2><A NAME="Context">Context</A></H2>
+ <P>
+ This indicates where in the server's configuration files the directive
+ is legal. It's a comma-separated list of one or more of the following
+ values:
+ </P>
+ <DL>
+ <DT><STRONG>server config</STRONG>
+ </DT>
+ <DD>This means that the directive may be used in the server
+ configuration files (<EM>e.g.</EM>, <SAMP>httpd.conf</SAMP>,
+ <SAMP>srm.conf</SAMP>, and <SAMP>access.conf</SAMP>), but
+ <STRONG>not</STRONG> within any <SAMP><VirtualHost></SAMP> or
+ <Directory> containers. It is not allowed in
+ <SAMP>.htaccess</SAMP> files at all.
+ <P>
+ </P>
+ </DD>
+ <DT><STRONG>virtual host</STRONG>
+ </DT>
+ <DD>This context means that the directive may appear inside
+ <SAMP><VirtualHost></SAMP> containers in the server
+ configuration files.
+ <P>
+ </P>
+ </DD>
+ <DT><STRONG>directory</STRONG>
+ </DT>
+ <DD>A directive marked as being valid in this context may be used
+ inside <SAMP><Directory></SAMP> containers in the server
+ configuration files.
+ <P>
+ </P>
+ </DD>
+ <DT><STRONG>.htaccess</STRONG>
+ </DT>
+ <DD>If a directive is valid in this context, it means that it can
+ appear inside <EM>per</EM>-directory <SAMP>.htaccess</SAMP> files.
+ It may not be processed, though depending upon the
+ <A
+ HREF="#Override"
+ REL="Help"
+ >overrides</A>
+ currently active.
+ <P>
+ </P>
+ </DD>
+ </DL>
+ <P>
+ The directive is <EM>only</EM> allowed within the designated context;
+ if you try to use it elsewhere, you'll get a configuration error that
+ will either prevent the server from handling requests in that context
+ correctly, or will keep the server from operating at all --
+ <EM>i.e.</EM>, the server won't even start.
+ </P>
+ <P>
+ The valid locations for the directive are actually the result of a
+ Boolean OR of all of the listed contexts. In other words, a directive
+ that is marked as being valid in "<SAMP>server config,
+ .htaccess</SAMP>" can be used in the <SAMP>httpd.conf</SAMP> file
+ and in <SAMP>.htaccess</SAMP> files, but not within any
+ <Directory> or <VirtualHost> containers.
+ </P>
+
+ <HR>
+ <H2><A NAME="Override">Override</A></H2>
+ <P>
+ This directive attribute indicates which configuration override must
+ be active in order for the directive to be processed when it appears
+ in a <SAMP>.htaccess</SAMP> file. If the directive's
+ <A
+ HREF="#Context"
+ REL="Help"
+ >context</A>
+ doesn't permit it to appear in <SAMP>.htaccess</SAMP> files, this
+ attribute should say "<EM>Not applicable</EM>".
+ </P>
+ <P>
+ Overrides are activated by the
+ <A
+ HREF="core.html#allowoverrides"
+ REL="Help"
+ ><SAMP>AllowOverrides</SAMP></A>
+ directive, and apply to a particular scope (such as a directory) and
+ all descendants, unless further modified by other
+ <SAMP>AllowOverrides</SAMP> directives at lower levels. The
+ documentation for that directive also lists the possible override
+ names available.
+ </P>
+
+ <HR>
+ <H2><A NAME="Status">Status</A></H2>
+ <P>
+ This indicates how tightly bound into the Apache Web server the
+ directive is; in other words, you may need to recompile the server
+ with an enhanced set of modules in order to gain access to the
+ directive and its functionality. Possible values for this attribute
+ are:
+ </P>
+ <DL>
+ <DT><STRONG>Core</STRONG>
+ </DT>
+ <DD>If a directive is listed as having "Core" status, that
+ means it is part of the innermost portions of the Apache Web server,
+ and is always available.
+ <P>
+ </P>
+ </DD>
+ <DT><STRONG>Base</STRONG>
+ </DT>
+ <DD>A directive labeled as having "Base" status is
+ supported by one of the standard Apache modules which is compiled
+ into the server by default, and is therefore normally available
+ unless you've taken steps to remove the module from your configuration.
+ <P>
+ </P>
+ </DD>
+ <DT><STRONG>Extension</STRONG>
+ </DT>
+ <DD>A directive with "Extension" status is provided by one
+ of the modules included with the Apache server kit, but the module
+ isn't normally compiled into the server. To enable the directive
+ and its functionality, you will need to change the server build
+ configuration files and re-compile Apache.
+ <P>
+ </P>
+ </DD>
+ <DT><STRONG>Experimental</STRONG>
+ </DT>
+ <DD>"Experimental" status indicates that the directive is
+ available as part of the Apache kit, but you're on your own if you
+ try to use it. The directive is being documented for completeness,
+ and is not necessarily supported. The module which provides the
+ directive may or may not be compiled in by default; check the top of
+ the page which describes the directive and its module to see if it
+ remarks on the availability.
+ <P>
+ </P>
+ </DD>
+ </DL>
+
+ <HR>
+ <H2><A NAME="Module">Module</A></H2>
+ <P>
+ This quite simply lists the name of the source module which defines
+ the directive.
+ </P>
+
+ <HR>
+ <H2><A NAME="Compatibility">Compatibility</A></H2>
+ <P>
+ If the directive wasn't part of the original Apache version 1
+ distribution, the version in which it was introduced should be listed
+ here. If the directive has the same name as one from the NCSA HTTPd
+ server, any inconsistencies in behaviour between the two should also
+ be mentioned. Otherwise, this attribute should say "<EM>No
+ compatibility issues.</EM>"
+ </P>
+<!--#include virtual="footer.html" -->
+ </BODY>
+</HTML>
--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<HTML>
+ <HEAD>
+ <TITLE>Definitions of terms used to describe Apache directives
+ </TITLE>
+ </HEAD>
+<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
+ <BODY
+ BGCOLOR="#FFFFFF"
+ TEXT="#000000"
+ LINK="#0000FF"
+ VLINK="#000080"
+ ALINK="#FF0000"
+ >
+<!--#include virtual="header.html" -->
+ <H1 ALIGN="CENTER">Terms Used to Describe Apache Directives</H1>
+
+ <P>
+ Each Apache configuration directive is described using a common format
+ that looks like this:
+ </P>
+ <DL>
+ <DD><A
+ HREF="#Syntax"
+ REL="Help"
+ ><STRONG>Syntax:</STRONG></A> <EM>directive-name</EM> <EM>some args</EM>
+ <BR>
+ <A
+ HREF="#Default"
+ REL="Help"
+ ><STRONG>Default:</STRONG></A>
+ <SAMP><EM>directive-name default-value</EM></SAMP>
+ <BR>
+ <A
+ HREF="#Context"
+ REL="Help"
+ ><STRONG>Context:</STRONG></A> <EM>context-list</EM>
+ <BR>
+ <A
+ HREF="#Override"
+ REL="Help"
+ ><STRONG>Override:</STRONG></A> <EM>override</EM>
+ <BR>
+ <A
+ HREF="#Status"
+ REL="Help"
+ ><STRONG>Status:</STRONG></A> <EM>status</EM>
+ <BR>
+ <A
+ HREF="#Module"
+ REL="Help"
+ ><STRONG>Module:</STRONG></A> <EM>module-name</EM>
+ <BR>
+ <A
+ HREF="#Compatibility"
+ REL="Help"
+ ><STRONG>Compatibility:</STRONG></A> <EM>compatibility notes</EM>
+ </DD>
+ </DL>
+ <P>
+ Each of the directive's attributes, complete with possible values
+ where possible, are described in this document.
+ </P>
+
+ <H2>Directive Terms</H2>
+ <UL>
+ <LI><A HREF="#Syntax">Syntax</A>
+ </LI>
+ <LI><A HREF="#Default">Default</A>
+ </LI>
+ <LI><A HREF="#Context">Context</A>
+ </LI>
+ <LI><A HREF="#Override">Override</A>
+ </LI>
+ <LI><A HREF="#Status">Status</A>
+ </LI>
+ <LI><A HREF="#Module">Module</A>
+ </LI>
+ <LI><A HREF="#Compatibility">Compatibility</A>
+ </LI>
+ </UL>
+
+ <HR>
+ <H2><A NAME="Syntax">Syntax</A></H2>
+ <P>
+ This indicates the format of the directive as it would appear in a
+ configuration file. This syntax is extremely directive-specific, so
+ refer to the text of the directive's description for details.
+ </P>
+
+ <HR>
+ <H2><A NAME="Default">Default</A></H2>
+ <P>
+ If the directive has a default value (<EM>i.e.</EM>, if you omit it
+ from your configuration entirely, the Apache Web server will behave as
+ though you set it to a particular value), it is described here. If
+ there is no default value, this section should say
+ "<EM>None</EM>".
+ </P>
+
+ <HR>
+ <H2><A NAME="Context">Context</A></H2>
+ <P>
+ This indicates where in the server's configuration files the directive
+ is legal. It's a comma-separated list of one or more of the following
+ values:
+ </P>
+ <DL>
+ <DT><STRONG>server config</STRONG>
+ </DT>
+ <DD>This means that the directive may be used in the server
+ configuration files (<EM>e.g.</EM>, <SAMP>httpd.conf</SAMP>,
+ <SAMP>srm.conf</SAMP>, and <SAMP>access.conf</SAMP>), but
+ <STRONG>not</STRONG> within any <SAMP><VirtualHost></SAMP> or
+ <Directory> containers. It is not allowed in
+ <SAMP>.htaccess</SAMP> files at all.
+ <P>
+ </P>
+ </DD>
+ <DT><STRONG>virtual host</STRONG>
+ </DT>
+ <DD>This context means that the directive may appear inside
+ <SAMP><VirtualHost></SAMP> containers in the server
+ configuration files.
+ <P>
+ </P>
+ </DD>
+ <DT><STRONG>directory</STRONG>
+ </DT>
+ <DD>A directive marked as being valid in this context may be used
+ inside <SAMP><Directory></SAMP> containers in the server
+ configuration files.
+ <P>
+ </P>
+ </DD>
+ <DT><STRONG>.htaccess</STRONG>
+ </DT>
+ <DD>If a directive is valid in this context, it means that it can
+ appear inside <EM>per</EM>-directory <SAMP>.htaccess</SAMP> files.
+ It may not be processed, though depending upon the
+ <A
+ HREF="#Override"
+ REL="Help"
+ >overrides</A>
+ currently active.
+ <P>
+ </P>
+ </DD>
+ </DL>
+ <P>
+ The directive is <EM>only</EM> allowed within the designated context;
+ if you try to use it elsewhere, you'll get a configuration error that
+ will either prevent the server from handling requests in that context
+ correctly, or will keep the server from operating at all --
+ <EM>i.e.</EM>, the server won't even start.
+ </P>
+ <P>
+ The valid locations for the directive are actually the result of a
+ Boolean OR of all of the listed contexts. In other words, a directive
+ that is marked as being valid in "<SAMP>server config,
+ .htaccess</SAMP>" can be used in the <SAMP>httpd.conf</SAMP> file
+ and in <SAMP>.htaccess</SAMP> files, but not within any
+ <Directory> or <VirtualHost> containers.
+ </P>
+
+ <HR>
+ <H2><A NAME="Override">Override</A></H2>
+ <P>
+ This directive attribute indicates which configuration override must
+ be active in order for the directive to be processed when it appears
+ in a <SAMP>.htaccess</SAMP> file. If the directive's
+ <A
+ HREF="#Context"
+ REL="Help"
+ >context</A>
+ doesn't permit it to appear in <SAMP>.htaccess</SAMP> files, this
+ attribute should say "<EM>Not applicable</EM>".
+ </P>
+ <P>
+ Overrides are activated by the
+ <A
+ HREF="core.html#allowoverrides"
+ REL="Help"
+ ><SAMP>AllowOverrides</SAMP></A>
+ directive, and apply to a particular scope (such as a directory) and
+ all descendants, unless further modified by other
+ <SAMP>AllowOverrides</SAMP> directives at lower levels. The
+ documentation for that directive also lists the possible override
+ names available.
+ </P>
+
+ <HR>
+ <H2><A NAME="Status">Status</A></H2>
+ <P>
+ This indicates how tightly bound into the Apache Web server the
+ directive is; in other words, you may need to recompile the server
+ with an enhanced set of modules in order to gain access to the
+ directive and its functionality. Possible values for this attribute
+ are:
+ </P>
+ <DL>
+ <DT><STRONG>Core</STRONG>
+ </DT>
+ <DD>If a directive is listed as having "Core" status, that
+ means it is part of the innermost portions of the Apache Web server,
+ and is always available.
+ <P>
+ </P>
+ </DD>
+ <DT><STRONG>Base</STRONG>
+ </DT>
+ <DD>A directive labeled as having "Base" status is
+ supported by one of the standard Apache modules which is compiled
+ into the server by default, and is therefore normally available
+ unless you've taken steps to remove the module from your configuration.
+ <P>
+ </P>
+ </DD>
+ <DT><STRONG>Extension</STRONG>
+ </DT>
+ <DD>A directive with "Extension" status is provided by one
+ of the modules included with the Apache server kit, but the module
+ isn't normally compiled into the server. To enable the directive
+ and its functionality, you will need to change the server build
+ configuration files and re-compile Apache.
+ <P>
+ </P>
+ </DD>
+ <DT><STRONG>Experimental</STRONG>
+ </DT>
+ <DD>"Experimental" status indicates that the directive is
+ available as part of the Apache kit, but you're on your own if you
+ try to use it. The directive is being documented for completeness,
+ and is not necessarily supported. The module which provides the
+ directive may or may not be compiled in by default; check the top of
+ the page which describes the directive and its module to see if it
+ remarks on the availability.
+ <P>
+ </P>
+ </DD>
+ </DL>
+
+ <HR>
+ <H2><A NAME="Module">Module</A></H2>
+ <P>
+ This quite simply lists the name of the source module which defines
+ the directive.
+ </P>
+
+ <HR>
+ <H2><A NAME="Compatibility">Compatibility</A></H2>
+ <P>
+ If the directive wasn't part of the original Apache version 1
+ distribution, the version in which it was introduced should be listed
+ here. If the directive has the same name as one from the NCSA HTTPd
+ server, any inconsistencies in behaviour between the two should also
+ be mentioned. Otherwise, this attribute should say "<EM>No
+ compatibility issues.</EM>"
+ </P>
+<!--#include virtual="footer.html" -->
+ </BODY>
+</HTML>
>
<!--#include virtual="header.html" -->
<H1 ALIGN="CENTER">Apache Directives</H1>
-
+<P>
+Each Apache directive available in the standard Apache distribution is
+listed here. They are described using a consistent format, and there is
+<A
+ HREF="directive-dict.html"
+ REL="Glossary"
+>a dictionary</A>
+of the terms used in their descriptions available.
+</P>
<ul>
<li><A HREF="core.html#accessconfig">AccessConfig</A>
<li><A HREF="core.html#accessfilename">AccessFileName</A>
Example
</A></H2>
<P>
- <STRONG>Syntax:</STRONG> Example
+ <A
+ HREF="directive-dict.html#Syntax"
+ REL="Help"
+ ><STRONG>Syntax:</STRONG></A> Example
+ <BR>
+ <A
+ HREF="directive-dict.html#Default"
+ REL="Help"
+ ><STRONG>Default:</STRONG></A> None
<BR>
- <STRONG>Default:</STRONG> None
+ <A
+ HREF="directive-dict.html#Context"
+ REL="Help"
+ ><STRONG>Context:</STRONG></A> server config, virtual host, directory,
+ .htaccess
<BR>
- <STRONG>Context:</STRONG> server config, virtual host, directory, .htaccess
+ <A
+ HREF="directive-dict.html#Override"
+ REL="Help"
+ ><STRONG>Override:</STRONG></A> Options
<BR>
- <STRONG>Override:</STRONG> Options
+ <A
+ HREF="directive-dict.html#Status"
+ REL="Help"
+ ><STRONG>Status:</STRONG></A> Extension
<BR>
- <STRONG>Status:</STRONG> Extension
+ <A
+ HREF="directive-dict.html#Module"
+ REL="Help"
+ ><STRONG>Module:</STRONG></A> mod_example
<BR>
- <STRONG>Module:</STRONG> mod_example
+ <A
+ HREF="directive-dict.html#Compatibility"
+ REL="Help"
+ ><STRONG>Compatibility:</STRONG></A> <SAMP>Example</SAMP> is only
+ available in Apache 1.2 and later.
</P>
<P>
- The Example directive activates the example module's content handler
+ The <SAMP>Example</SAMP> directive activates the example module's
+ content handler
for a particular location or file type. It takes no arguments. If
you browse to an URL to which the example content-handler applies, you
will get a display of the routines within the module and how and in
This module is contained in the <code>mod_proxy.c</code> file for Apache 1.1.x,
or the <code>modules/proxy</code> subdirectory for Apache 1.2, and
-is not compiled in by default. It provides for an <b>HTTP 1.0</b> caching proxy
+is not compiled in by default. It provides for an <STRONG>HTTP
+1.0</STRONG> caching proxy
server. It is only available in Apache 1.1 and later. Common configuration
-questions are addressed <a href="#configs">here</a>.
+questions are addressed <a href="#configs">after the directive
+descriptions</a>.
<h3>Note:</h3>
<p>This module was experimental in Apache 1.1.x. As of Apache 1.2, mod_proxy
-stability is <i>greatly</i> improved.<p>
+stability is <EM>greatly</EM> improved.<p>
<h2>Summary</h2>
<strong>Syntax:</strong> ProxyRequests <em>on/off</em><br>
<strong>Default:</strong> <code>ProxyRequests Off</code><br>
<strong>Context:</strong> server config, virtual host<br>
+<strong>Override:</strong> <EM>Not applicable</EM><br>
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_proxy<br>
-<strong>Compatibility:</strong> ProxyRequest is only available in
+<strong>Compatibility:</strong> ProxyRequests is only available in
Apache 1.1 and later.<p>
This allows or prevents Apache from functioning as a proxy
server. Setting ProxyRequests to 'off' does not disable use of the <a
href="#proxypass">ProxyPass</a> directive.
+<HR>
+
<A name="proxyremote"><h2>ProxyRemote</h2></A>
<strong>Syntax:</strong> ProxyRemote <em><match> <remote-server></em><br>
+<strong>Default:</strong> <EM>None</EM><br>
<strong>Context:</strong> server config, virtual host<br>
+<strong>Override:</strong> <EM>Not applicable</EM><br>
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_proxy<br>
<strong>Compatibility:</strong> ProxyRemote is only available in
<protocol> is the protocol that should be used to communicate
with the remote server; only "http" is supported by this module.
-
+<P>
Example:
<pre>
ProxyRemote http://goodguys.com/ http://mirrorguys.com:8000
as yet another HTTP proxy request, to another proxy which can handle
them.
+<HR>
+
<A name="proxypass"><h2>ProxyPass</h2></A>
<strong>Syntax:</strong> ProxyPass <em><path> <url></em><br>
+<strong>Default:</strong> <EM>None</EM><br>
<strong>Context:</strong> server config, virtual host<br>
+<strong>Override:</strong> <EM>Not applicable</EM><br>
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_proxy<br>
<strong>Compatibility:</strong> ProxyPass is only available in
server; the local server does not act as a proxy in the conventional sense,
but appears to be a mirror of the remote server. <path> is the name of
a local virtual path; <url> is a partial URL for the remote server.
-
-Suppose the local server has address http://wibble.org; then
+<P>
+Suppose the local server has address <SAMP>http://wibble.org/</SAMP>; then
<pre>
ProxyPass /mirror/foo http://foo.com
</pre>
-Will cause a local request for the http://wibble.org/mirror/foo/bar to be
-internally converted into a proxy request to http://foo.com/bar
+will cause a local request for the
+<<SAMP>http://wibble.org/mirror/foo/bar</SAMP>> to be
+internally converted into a proxy request to
+<<SAMP>http://foo.com/bar</SAMP>>.
+
+<HR>
<A name="proxyblock"><h2>ProxyBlock</h2></A>
<strong>Syntax:</strong> ProxyBlock <em><word/host/domain list></em><br>
+<strong>Default:</strong> <EM>None</EM><br>
<strong>Context:</strong> server config, virtual host<br>
+<strong>Override:</strong> <EM>Not applicable</EM><br>
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_proxy<br>
<strong>Compatibility:</strong> ProxyBlock is only available in
blocks connections to all sites.
+<HR>
+
<A name="noproxy"><h2>NoProxy</h2></A>
<strong>Syntax:</strong> NoProxy { <A HREF="#domain"><em><Domain></em></A>
| <A HREF="#subnet"><em><SubNet></em></A>
| <A HREF="#ipaddr"><em><IpAddr></em></A>
| <A HREF="#hostname"><em><Hostname></em></A>
} <br>
+<strong>Default:</strong> <EM>None</EM><br>
<strong>Context:</strong> server config, virtual host<br>
+<strong>Override:</strong> <EM>Not applicable</EM><br>
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_proxy<br>
<strong>Compatibility:</strong> NoProxy is only available in
Apache 1.3 and later.<p>
-This directive is only useful for apache proxy servers within intranets.
+This directive is only useful for Apache proxy servers within intranets.
The NoProxy directive specifies a list of subnets, IP addresses, hosts
and/or domains, separated by spaces. A request to a host which matches
one or more of these is always served directly, without forwarding to
-the configured ProxyRemote proxy server(s).<br>Example:
+the configured ProxyRemote proxy server(s).
+<P>
+Example:
<pre>
ProxyRemote * http://firewall.mycompany.com:81
<DL>
<!-- ===================== Domain ======================= -->
<A NAME="domain">
- <DT><EM>Domain</EM>
+ <DT><EM>Domain</EM></A>
<DD>A <EM>Domain</EM> is a partially qualified DNS domain name, preceded
by a period.
It represents a list of hosts which logically belong to the same DNS
<!-- ===================== SubNet ======================= -->
<A NAME="subnet">
- <DT><EM>SubNet</EM>
+ <DT><EM>SubNet</EM></A>
<DD>A <EM>SubNet</EM> is a partially qualified internet address in
numeric (dotted quad) form, optionally followed by a slash and the
netmask, specified as the number of significant bits in the
<!-- ===================== IPAddr ======================= -->
<A NAME="ipaddr">
- <DT><EM>IPAddr</EM>
+ <DT><EM>IPAddr</EM></A>
<DD>A <EM>IPAddr</EM> represents a fully qualified internet address in
numeric (dotted quad) form. Usually, this address represents a
host, but there need not necessarily be a DNS domain name
connected with the address.<BR>
Example: 192.168.123.7<BR>
- Note: An <EM>IPAddr</EM> does not need to be resolved by the DNS system, so
- it can result in more effective apache performance.<BR>
-<p><strong>See Also:</strong>
-<a href="../dns-caveats.html">DNS Issues</a></p>
+ Note: An <EM>IPAddr</EM> does not need to be resolved by the DNS
+ system, so it can result in more effective apache performance.
+ <p><strong>See Also:</strong>
+ <a href="../dns-caveats.html">DNS Issues</a></p>
<!-- ===================== Hostname ======================= -->
<A NAME="hostname">
- <DT><EM>Hostname</EM>
+ <DT><EM>Hostname</EM></A>
<DD>A <EM>Hostname</EM> is a fully qualified DNS domain name which can
- be resolved to one or more <A HREF="#ipaddr"><EM>IPAddrs</EM></A> via the DNS domain name service.
- It represents a logical host (in contrast to <A HREF="#domain"><EM>Domain</EM></A>s, see
- above) and must be resolvable to at least one <A HREF="#ipaddr"><EM>IPAddr</EM></A> (or
- often to a list of hosts with different <A HREF="#ipaddr"><EM>IPAddr</EM></A>'s).<BR>
+ be resolved to one or more <A
+ HREF="#ipaddr"><EM>IPAddrs</EM></A> via the DNS domain name service.
+ It represents a logical host (in contrast to
+ <A HREF="#domain"><EM>Domain</EM></A>s, see
+ above) and must be resolvable to at least one <A
+ HREF="#ipaddr"><EM>IPAddr</EM></A> (or often to a list of hosts
+ with different <A HREF="#ipaddr"><EM>IPAddr</EM></A>'s).<BR>
Examples: <SAMP>prep.ai.mit.edu</SAMP>
<SAMP>www.apache.org.</SAMP><BR>
Note: In many situations, it is more effective to specify an
- <A HREF="#ipaddr"><EM>IPAddr</EM></A> in place of a <EM>Hostname</EM> since a DNS lookup
+ <A HREF="#ipaddr"><EM>IPAddr</EM></A> in place of a
+ <EM>Hostname</EM> since a DNS lookup
can be avoided. Name resolution in Apache can take a remarkable deal
of time when the connection to the name server uses a slow PPP
link.<BR>
<a href="../dns-caveats.html">DNS Issues</a></p>
</DL>
+<HR>
+
<A name="proxydomain"><h2>ProxyDomain</h2></A>
<strong>Syntax:</strong> ProxyDomain <em><Domain></em><br>
+<strong>Default:</strong> <EM>None</EM><br>
<strong>Context:</strong> server config, virtual host<br>
+<strong>Override:</strong> <EM>Not applicable</EM><br>
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_proxy<br>
<strong>Compatibility:</strong> ProxyDomain is only available in
Apache 1.3 and later.<p>
-This directive is only useful for apache proxy servers within intranets.
+This directive is only useful for Apache proxy servers within intranets.
The ProxyDomain directive specifies the default domain which the apache
proxy server will belong to. If a request to a host without a domain name
is encountered, a redirection response to the same host
with the configured <em>Domain</em> appended will be generated.
-<br>Example:
+<P>
+Example:
<pre>
ProxyRemote * http://firewall.mycompany.com:81
ProxyDomain .mycompany.com
</pre>
+<HR>
+
<A name="cacheroot"><h2>CacheRoot</h2></A>
<strong>Syntax:</strong> CacheRoot <em><directory></em><br>
+<strong>Default:</strong> <EM>None</EM><br>
<strong>Context:</strong> server config, virtual host<br>
+<strong>Override:</strong> <EM>Not applicable</EM><br>
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_proxy<br>
<strong>Compatibility:</strong> CacheRoot is only available in
writable
by the httpd server.
+<HR>
+
<A name="cachesize"><h2>CacheSize</h2></A>
<strong>Syntax:</strong> CacheSize <em><size></em><br>
<strong>Default:</strong> <code>CacheSize 5</code><br>
<strong>Context:</strong> server config, virtual host<br>
+<strong>Override:</strong> <EM>Not applicable</EM><br>
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_proxy<br>
<strong>Compatibility:</strong> CacheSize is only available in
Apache 1.1 and later.<p>
-Sets the desired space usage of the cache, in Kb (1024 byte units). Although
+Sets the desired space usage of the cache, in KB (1024-byte units). Although
usage may grow above this setting, the garbage collection will delete files
until the usage is at or below this setting.
+<HR>
+
<A name="cachegcinterval"><h2>CacheGcInterval</h2></A>
<strong>Syntax:</strong> CacheGcInterval <em><time></em><br>
+<strong>Default:</strong> <EM>None</EM><br>
<strong>Context:</strong> server config, virtual host<br>
+<strong>Override:</strong> <EM>Not applicable</EM><br>
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_proxy<br>
<strong>Compatibility:</strong> CacheGcinterval is only available in
Check the cache every <time> hours, and delete files if the space
usage is greater than that set by CacheSize.
+<HR>
+
<A name="cachemaxexpire"><h2>CacheMaxExpire</h2></A>
<strong>Syntax:</strong> CacheMaxExpire <em><time></em><br>
<strong>Default:</strong> <code>CacheMaxExpire 24</code><br>
<strong>Context:</strong> server config, virtual host<br>
+<strong>Override:</strong> <EM>Not applicable</EM><br>
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_proxy<br>
<strong>Compatibility:</strong> CacheMaxExpire is only available in
hours out of date. This restriction is enforced even if an expiry date
was supplied with the document.
+<HR>
+
<A name="cachelastmodifiedfactor"><h2>CacheLastModifiedFactor</h2></A>
<strong>Syntax:</strong> CacheLastModifiedFactor <em><factor></em><br>
<strong>Default:</strong> <code>CacheLastModifiedFactor 0.1</code><br>
<strong>Context:</strong> server config, virtual host<br>
+<strong>Override:</strong> <EM>Not applicable</EM><br>
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_proxy<br>
<strong>Compatibility:</strong> CacheLastModifiedFactor is only available in
<p>If the expiry-period would be longer than that set by CacheMaxExpire,
then the latter takes precedence.
+<HR>
+
<A name="cachedirlevels"><h2>CacheDirLevels</h2></A>
<strong>Syntax:</strong> CacheDirLevels <em><levels></em><br>
<strong>Default:</strong> <code>CacheDirLevels 3</code><br>
<strong>Context:</strong> server config, virtual host<br>
+<strong>Override:</strong> <EM>Not applicable</EM><br>
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_proxy<br>
<strong>Compatibility:</strong> CacheDirLevels is only available in
CacheDirLevels sets the number of levels of subdirectories in the cache.
Cached data will be saved this many directory levels below CacheRoot.
+<HR>
+
<A name="cachedirlength"><h2>CacheDirLength</h2></A>
<strong>Syntax:</strong> CacheDirLength <em><length></em><br>
<strong>Default:</strong> <code>CacheDirLength 1</code><br>
<strong>Context:</strong> server config, virtual host<br>
+<strong>Override:</strong> <EM>Not applicable</EM><br>
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_proxy<br>
<strong>Compatibility:</strong> CacheDirLength is only available in
CacheDirLength sets the number of characters in proxy cache subdirectory names.
+<HR>
+
<A name="cachedefaultexpire"><h2>CacheDefaultExpire</h2></A>
<strong>Syntax:</strong> CacheDefaultExpire <em><time></em><br>
<strong>Default:</strong> <code>CacheDefaultExpire 1</code><br>
<strong>Context:</strong> server config, virtual host<br>
+<strong>Override:</strong> <EM>Not applicable</EM><br>
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_proxy<br>
<strong>Compatibility:</strong> CacheDefaultExpire is only available in
If the document is fetched via a protocol that does not support expiry times,
then use <time> hours as the expiry time.
<a href="#cachemaxexpire">CacheMaxExpire</a> does <strong>not</strong>
-override.
+override this setting.
+
+<HR>
<A name="nocache"><h2>NoCache</h2></A>
<strong>Syntax:</strong> NoCache <em><word/host/domain list></em><br>
+<strong>Default:</strong> <EM>None</EM><br>
<strong>Context:</strong> server config, virtual host<br>
+<strong>Override:</strong> <EM>Not applicable</EM><br>
<strong>Status:</strong> Base<br>
<strong>Module:</strong> mod_proxy<br>
<strong>Compatibility:</strong> NoCache is only available in
<ul>
<li><a href="#access">Controlling access to your proxy</a>
<li><a href="#shortname">Using Netscape hostname shortcuts</a>
-<li><a href="#mimetypes">Why doesn't file type <i>xxx</i> download via FTP?</a>
+<li><a href="#mimetypes">Why doesn't file type <EM>xxx</EM> download via FTP?</a>
<li><a href="#startup">Why does Apache start more slowly when using the
proxy module?</a>
<li><a href="#socks">Can I use the Apache proxy module with my SOCKS proxy?</a>
<a href="http://www.apache.org/dist/contrib/patches/1.2/netscapehost.patch">
here</a>.<p>
-<h2><a name="mimetypes">Why doesn't file type <i>xxx</i> download via FTP?</a></h2>
+<h2><a name="mimetypes">Why doesn't file type <EM>xxx</EM> download via FTP?</a></h2>
You probably don't have that particular file type defined as
-<i>application/octet-stream</i> in your proxy's mime.types configuration
+<EM>application/octet-stream</EM> in your proxy's mime.types configuration
file. A useful line can be<p>
<pre>
<h2><a name="socks">Can I use the Apache proxy module with my SOCKS proxy?</a></h2>
Yes. Just build Apache with the rule <code>SOCKS4=yes</code> in your
-<i>Configuration</i> file, and follow the instructions there. SOCKS5
+<EM>Configuration</EM> file, and follow the instructions there. SOCKS5
capability can be added in a similar way (there's no <code>SOCKS5</code>
rule yet), so use the <code>EXTRA_LDFLAGS</code> definition, or build Apache
-normally and run it with the <i>runsocks</i> wrapper provided with SOCKS5,
+normally and run it with the <EM>runsocks</EM> wrapper provided with SOCKS5,
if your OS supports dynamically linked libraries.<p>
Some users have reported problems when using SOCKS version 4.2 on Solaris.