mirror of
https://github.com/apache/httpd.git
synced 2025-08-26 05:42:34 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@76995 13f79535-47bb-0310-9956-ffa450edef68
213 lines
7.8 KiB
HTML
213 lines
7.8 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
|
|
<HTML>
|
|
<HEAD>
|
|
<TITLE>Apache module mod_proxy</TITLE>
|
|
</HEAD>
|
|
|
|
<BODY>
|
|
<IMG SRC="../images/apache_sub.gif" ALT="">
|
|
<H1>Apache module mod_proxy</h1>
|
|
|
|
This module is contained in the <code>mod_proxy.c</code> file, and
|
|
is not compiled in by default. It provides for a caching proxy server.
|
|
It is only available in Apache 1.1 and later.
|
|
|
|
<h3>Note:</h3>
|
|
<p>This module is experimental. Use at your own risk.</p>
|
|
|
|
<h2>Summary</h2>
|
|
|
|
This module implements a proxy/cache for Apache. It implements
|
|
proxying capability for
|
|
<code>FTP</code>,
|
|
<code>HTTP/0.9</code>, and
|
|
<code>HTTP/1.0</code>.
|
|
The module can be configured to connect to other proxy modules for these
|
|
and other protocols.
|
|
|
|
<h2>Directives</h2>
|
|
<ul>
|
|
<li><a href="#proxyrequests">ProxyRequests</a>
|
|
<li><a href="#proxyremote">ProxyRemote</a>
|
|
<li><a href="#proxypass">ProxyPass</a>
|
|
<li><a href="#cacheroot">CacheRoot</a>
|
|
<li><a href="#cachesize">CacheSize</a>
|
|
<li><a href="#cachegcinterval">CacheGcInterval</a>
|
|
<li><a href="#cachemaxexpire">CacheMaxExpire</a>
|
|
<li><a href="#cachelastmodifiedfactor">CacheLastModifiedFactor</a>
|
|
<li><a href="#cachedefaultexpire">CacheDefaultExpire</a>
|
|
<li><a href="#nocache">NoCache</a>
|
|
</ul>
|
|
|
|
<hr>
|
|
|
|
<A name="proxyrequests"><h2>ProxyRequests</h2></A>
|
|
<strong>Syntax:</strong> ProxyRequests <em>on/off</em><br>
|
|
<strong>Default:</strong> <code>ProxyRequests Off</code><br>
|
|
<strong>Context:</strong> server config<br>
|
|
<strong>Status:</strong> Base<br>
|
|
<strong>Module:</strong> mod_proxy<br>
|
|
<strong>Compatibility:</strong> ProxyRequest 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.
|
|
|
|
<A name="proxyremote"><h2>ProxyRemote</h2></A>
|
|
<strong>Syntax:</strong> ProxyRemote <em><match> <remote-server></em><br>
|
|
<strong>Context:</strong> server config<br>
|
|
<strong>Status:</strong> Base<br>
|
|
<strong>Module:</strong> mod_proxy<br>
|
|
<strong>Compatibility:</strong> ProxyRemote is only available in
|
|
Apache 1.1 and later.<p>
|
|
|
|
This defines remote proxies to this proxy. <match> is either the
|
|
name of a URL-scheme that the remote server supports, or a partial URL
|
|
for which the remote server should be used, or '$' to indicate the
|
|
server should be contacted for all requests. <remote-server> is a
|
|
partial URL for the remote server. Syntax:
|
|
|
|
<pre>
|
|
<remote-server> = <protocol>://<hostname>[:port]
|
|
</pre>
|
|
<protocol> is the protocol that should be used to communicate with the
|
|
remote
|
|
server; only "http" is supported by this module.
|
|
|
|
Example:
|
|
<pre>
|
|
ProxyRemote ftp http://ftpproxy.mydomain.com:8080
|
|
ProxyRemote http://goodguys.com/ http://mirrorguys.com:8000
|
|
ProxyRemote * http://cleversite.com
|
|
</pre>
|
|
|
|
<A name="proxypass"><h2>ProxyPass</h2></A>
|
|
<strong>Syntax:</strong> ProxyPass <em><path> <url></em><br>
|
|
<strong>Context:</strong> server config<br>
|
|
<strong>Status:</strong> Base<br>
|
|
<strong>Module:</strong> mod_proxy<br>
|
|
<strong>Compatibility:</strong> ProxyPass is only available in
|
|
Apache 1.1 and later.<p>
|
|
|
|
This directive allows remote servers to be mapped into the space of the local
|
|
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
|
|
<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
|
|
|
|
<A name="cacheroot"><h2>CacheRoot</h2></A>
|
|
<strong>Syntax:</strong> CacheRoot <em><directory></em><br>
|
|
<strong>Context:</strong> server config<br>
|
|
<strong>Status:</strong> Base<br>
|
|
<strong>Module:</strong> mod_proxy<br>
|
|
<strong>Compatibility:</strong> CacheRoot is only available in
|
|
Apache 1.1 and later.<p>
|
|
|
|
Sets the name of the directory to contain cache files; this must be
|
|
writable
|
|
by the httpd server.
|
|
|
|
<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<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
|
|
usage may grow above this setting, the garbage collection will delete files
|
|
until the usage is at or below this setting.
|
|
|
|
<A name="cachegcinterval"><h2>CacheGcInterval</h2></A>
|
|
<strong>Syntax:</strong> CacheGcInterval <em><time></em><br>
|
|
<strong>Context:</strong> server config<br>
|
|
<strong>Status:</strong> Base<br>
|
|
<strong>Module:</strong> mod_proxy<br>
|
|
<strong>Compatibility:</strong> CacheGcinterval is only available in
|
|
Apache 1.1 and later.<p>
|
|
|
|
Check the cache every <time> hours, and delete files if the space
|
|
usage is greater than that set by CacheSize.
|
|
|
|
<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<br>
|
|
<strong>Status:</strong> Base<br>
|
|
<strong>Module:</strong> mod_proxy<br>
|
|
<strong>Compatibility:</strong> CacheMaxExpire is only available in
|
|
Apache 1.1 and later.<p>
|
|
|
|
Cachable HTTP documents will be retained for at most <time> hours without
|
|
checking the origin server. Thus documents can be at most <time>
|
|
hours out of date. This restriction is enforced even if an expiry date
|
|
was supplied with the document.
|
|
|
|
<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<br>
|
|
<strong>Status:</strong> Base<br>
|
|
<strong>Module:</strong> mod_proxy<br>
|
|
<strong>Compatibility:</strong> CacheLastModified is only available in
|
|
Apache 1.1 and later.<p>
|
|
|
|
If the origin HTTP server did not supply an expiry date for the
|
|
document, then estimate on using the formula
|
|
<pre>
|
|
expiry-period = time-since-last-modification * <factor>
|
|
</pre>
|
|
For example, if the document was last modified 10 hours ago, and
|
|
<factor> is 0.1, then the expiry period wil be set to 10*0.1 = 1 hour.
|
|
|
|
<p>If the expiry-period would be longer than that set by CacheMaxExpire,
|
|
then the latter takes precedence.
|
|
|
|
<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<br>
|
|
<strong>Status:</strong> Base<br>
|
|
<strong>Module:</strong> mod_proxy<br>
|
|
<strong>Compatibility:</strong> CacheDefaultExpire is only available in
|
|
Apache 1.1 and later.<p>
|
|
|
|
If the document is fetched via a protocol that does not support expirytimes,
|
|
then use <time> as the expiry time.
|
|
<a href="#cachemaxexpire">CacheMaxExpire</a> does <strong>not</strong>
|
|
override.
|
|
|
|
<A name="nocache"><h2>NoCache</h2></A>
|
|
<strong>Syntax:</strong> NoCache <em><host/domain list></em><br>
|
|
<strong>Context:</strong> server config<br>
|
|
<strong>Status:</strong> Base<br>
|
|
<strong>Module:</strong> mod_proxy<br>
|
|
<strong>Compatibility:</strong> NoCache is only available in
|
|
Apache 1.1 and later.<p>
|
|
|
|
The NoCache directive specifies a list of hosts and/or domains, separated
|
|
by spaces. HTTP documents from hosts or domains in the list are <em>not</em>
|
|
cached by the proxy server. Example:
|
|
|
|
<pre>
|
|
NoCache joes.garage.com some.host.co.uk wotsamattau.edu
|
|
</pre>
|
|
|
|
<p><hr>
|
|
|
|
<A HREF="../"><IMG SRC="../images/apache_home.gif" ALT="Home"></A>
|
|
<A HREF="./"><IMG SRC="../images/apache_index.gif" ALT="Index"></A>
|
|
|
|
</BODY>
|
|
</HTML>
|
|
|