Compatibility - ProxyRemote is only available in Apache 1.1 and later.
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:
<remote-server> = <protocol>://<hostname>[:port]
<protocol> is the protocol that should be used to communicate
with the remote server; only "http" is supported by this module.
Compatibility - ProxyPass is only available in Apache 1.1 and later.
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
ProxyPass /mirror/foo/ http://foo.com/
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>.
Compatibility - ProxyPassReverse is only available in Apache 1.3b6
and later.
This directive lets Apache adjust the URL in the Location header on HTTP
redirect responses. For instance this is essential when Apache is used as a reverse
proxy to avoid by-passing the reverse proxy because of HTTP redirects on the back
end servers which stay behind the reverse proxy.
<Path> is the name of a local virtual path.
<url> is a partial URL for the remote server - the same way they are
used for the ProxyPass directive.
Example:
Suppose the local server has address http://wibble.org/; then
will not only 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> (the
functionality ProxyPass provides here). It also takes care of
redirects the server foo.com sends: when http://foo.com/bar is
redirected by him to http://foo.com/quux Apache adjusts this to
http://wibble.org/mirror/foo/quux before forwarding the HTTP
redirect response to the client.
Note that this ProxyPassReverse directive can also be used in
conjunction with the proxy pass-through feature ("RewriteRule ... [P]")
from mod_rewrite because its doesn't depend on a corresponding ProxyPass
directive.
Compatibility - AllowCONNECT is only available in Apache 1.3.2 and
later.
The AllowCONNECT directive specifies a list of port numbers to
which the proxy CONNECT method may connect. Today's browsers use
this method when a https connection is requested and proxy tunneling
over http is in effect.
By default, only the default https port (443) and the default snews port (563)
are enabled. Use the AllowCONNECT directive to override this default
and allow connections to the listed ports only.
Compatibility - ProxyBlock is only available in Apache 1.2 and later.
The ProxyBlock directive specifies a list of words, hosts and/or domains,
separated by spaces. HTTP, HTTPS, and FTP document requests to sites whose
names contain matched words, hosts or domains are blocked by the
proxy server. The proxy module will also attempt to determine IP addresses of
list items which may be hostnames during startup, and cache them for match
test as well. Example:
Compatibility - ProxyReceiveBufferSize is only available in Apache
1.3 and later.
The ProxyReceiveBufferSize directive specifies an explicit network buffer size
for outgoing HTTP and FTP connections, for increased throughput. It has to be
greater than 512 or set to 0 to indicate that the system's default buffer size
should be used.
Compatibility - NoProxy is only available in Apache 1.3 and later.
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).
The arguments to the NoProxy directive are one of the following type list:
Domain
A Domain is a partially qualified DNS domain name, preceded
by a period.
It represents a list of hosts which logically belong to the same DNS
domain or zone (i.e., the suffixes of the hostnames are all ending in
Domain).
Examples: .com.apache.org.
To distinguish Domains from Hostnames (both
syntactically and semantically; a DNS domain can have a DNS A record,
too!), Domains are always written
with a leading period.
Note: Domain name comparisons are done without regard to the case,
and Domains are always assumed to be anchored in the root
of the DNS tree, therefore two domains .MyDomain.com and
.mydomain.com. (note the trailing period) are
considered equal. Since a domain comparison does not involve a DNS
lookup, it is much more efficient than subnet comparison.
SubNet
A SubNet 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 SubNet. It is used to represent
a subnet of hosts which can be reached over a common network interface. In
the absence of the explicit net mask it is assumed that omitted (or zero valued)
trailing digits specify the mask. (In this case, the netmask can only be multiples
of 8 bits wide.)
Examples:
192.168 or 192.168.0.0
the subnet 192.168.0.0 with an implied netmask of 16 valid bits
(sometimes used in the netmask form 255.255.0.0)
192.168.112.0/21
the subnet 192.168.112.0/21 with a netmask of 21
valid bits (also used in the form 255.255.248.0)
As a degenerate case, a SubNet with 32 valid bits is the
equivalent to an IPAddr, while a SubNet with zero
valid bits (e.g., 0.0.0.0/0) is the same as the constant
_Default_, matching any IP address.
IPAddr
A IPAddr 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.
Example: 192.168.123.7
Note: An IPAddr does not need to be resolved by the DNS
system, so it can result in more effective apache performance.
A Hostname is a fully qualified DNS domain name which can
be resolved to one or more IPAddrs via the DNS domain name service.
It represents a logical host (in contrast to
Domains, see
above) and must be resolvable to at least one IPAddr (or often to a list of hosts
with different IPAddr's).
Examples: prep.ai.mit.eduwww.apache.org.
Note: In many situations, it is more effective to specify an
IPAddr in place of a
Hostname 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.
Note: Hostname comparisons are done without regard to the case, and
Hostnames are always assumed to be anchored in the root of the DNS
tree, therefore two hosts WWW.MyDomain.com and www.mydomain.com.
(Note the trailing period) are considered equal.
Compatibility - ProxyDomain is only available in Apache 1.3 and later.
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 Domain appended will be generated.
Compatibility - ProxyVia is only available in Apache 1.3.2 and later.
This directive controls the use of the Via: HTTP header
by the proxy. Its intended use is to control the flow of of proxy
requests along a chain of proxy servers.
See RFC2068 (HTTP/1.1) for an explanation of Via: header lines.
If set to off, which is the default, no special
processing is performed. If a request or reply contains a Via: header,
it is passed through unchanged.
If set to on, each request and reply will get a Via: header
line added for the current host.
If set to full, each generated Via: header line will
additionally have the Apache server version shown as a Via: comment field.
If set to block, every proxy request will have all its
Via: header lines removed. No new Via: header will be generated.
Compatibility - CacheForceCompletion is only available in Apache
1.3.1 and later.
If an http transfer that is being cached is canceled, the proxy module will
complete the transfer to cache if more than the percentage specified has already
been transferred.
This is a percentage, and must be a number between 1 and 100, or 0 to use
the default. 100 will cause a document to be cached only if the transfer was
allowed to complete. A number between 60 and 90 is recommended.
Compatibility - CacheRoot is only available in Apache 1.1 and later.
Sets the name of the directory to contain cache files; this must be writable
by the httpd server. (See the User
directive).
Setting CacheRoot enables proxy caching; without defining a CacheRoot,
proxy functionality will be available if ProxyRequests are set
to On, but no caching will be available.
Compatibility - CacheSize is only available in Apache 1.1 and later.
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.
Depending on the expected proxy traffic volume and CacheGcInterval,
use a value which is at least 20 to 40 % lower than the available space.
Compatibility - CacheGcInterval is only available in Apache 1.1 and
later
Check the cache every <time> hours, and delete files if the space usage
is greater than that set by CacheSize. Note that <time> accepts a float
value, you could for example use CacheGcInterval 1.5 to check the
cache every 90 minutes. (If unset, no garbage collection will be performed,
and the cache will grow indefinitely.) Note also that the larger the CacheGcInterval,
the more extra space beyond the configured CacheSize will be needed
for the cache between garbage collections.
Compatibility - CacheMaxExpire is only available in Apache 1.1 and
later.
Cacheable 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.
Compatibility - CacheDefaultExpire is only available in Apache 1.1
and later.
If the document is fetched via a protocol that does not support expiry times,
then use <time> hours as the expiry time. CacheMaxExpire
does not override this setting.
Compatibility - CacheDefaultExpire is only available in Apache 1.1
and later.
The NoCache directive specifies a list of words, hosts and/or domains, separated
by spaces. HTTP and non-passworded FTP documents from matched words, hosts or
domains are not cached by the proxy server. The proxy module will also
attempt to determine IP addresses of list items which may be hostnames during
startup, and cache them for match test as well. Example: