X-Git-Url: https://granicus.if.org/sourcecode?a=blobdiff_plain;f=docs%2Fmanual%2Fmod%2Fmod_proxy.html.en;h=6117c7d4dcc189d77240a234535bc20c85e014f7;hb=ad214bc50aff352b7742ef1e4c5ccc2868c97129;hp=e340e381fcaa7fa7399812418edb5e111d73ac04;hpb=cf5776b9213e97bacc373fd7e2741e0b285afe48;p=apache diff --git a/docs/manual/mod/mod_proxy.html.en b/docs/manual/mod/mod_proxy.html.en index e340e381fc..6117c7d4dc 100644 --- a/docs/manual/mod/mod_proxy.html.en +++ b/docs/manual/mod/mod_proxy.html.en @@ -22,6 +22,7 @@
Description: | HTTP/1.1 proxy/gateway server |
---|
Description: | Ports that are allowed to CONNECT through the
-proxy |
---|---|
Syntax: | AllowCONNECT port [port] ... |
Default: | AllowCONNECT 443 563 |
Context: | server config, virtual host |
Status: | Extension |
Module: | mod_proxy |
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.
Note that you'll need to have mod_proxy_connect
present
- in the server in order to get the support for the CONNECT
at
- all.
Description: | Add a member to a load balancing group |
---|---|
Syntax: | BalancerMember url [key=value [key=value ...]] |
Syntax: | BalancerMember [balancerurl] url [key=value [key=value ...]] |
Context: | directory |
Status: | Extension |
Module: | mod_proxy |
Compatibility: | BalancerMember is only available in Apache 2.2 - and later. |
This directive adds a member to a load balancing group. It must be used +
This directive adds a member to a load balancing group. It could be used
within a <Proxy balancer://...>
container
- directive, and can take any of the parameters available to
+ directive, and can take any of the key value pair parameters available to
ProxyPass
directives.
One additional parameter is available only to BalancerMember
directives:
loadfactor. This is the member load factor - a number between 1
(default) and 100, which defines the weighted load to be applied to the
member in question.
The balancerurl is only needed when not in <Proxy balancer://...>
+ container directive. It corresponds to the url of a balancer defined in
+ ProxyPass
directive.
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 + Domains, see above) and must be resolvable to at least one IPAddr (or often to a list of hosts with different IPAddrs).
@@ -537,6 +513,10 @@ directly +<ProxyMatch>
This directive does not affect the processing of informational (1xx), normal success (2xx), or redirect (3xx) responses.
-Description: | Define the character set for proxied FTP listings |
---|---|
Syntax: | ProxyFtpDirCharset character set |
Default: | ProxyFtpDirCharset ISO-8859-1 |
Context: | server config, virtual host, directory |
Status: | Extension |
Module: | mod_proxy |
Compatibility: | Available in Apache 2.2.7 and later |
The ProxyFtpDirCharset
directive defines the
- character set to be set for FTP directory listings in HTML generated by
- mod_proxy_ftp
.
The ProxyIOBufferSize
directive adjusts the size
of the internal buffer, which is used as a scratchpad for the data between
- input and output. The size must be less or equal 65536
.
512
.
In almost every case there's no reason to change that value.
If used with AJP this directive sets the maximum AJP packet size in
@@ -710,6 +674,10 @@ proxied resources
identical to the <Proxy>
directive, except it matches URLs
using regular expressions.
<Proxy>
Description: | Maps remote servers into the local server URL-space | ||
---|---|---|---|
Syntax: | ProxyPass [path] !|url [key=value
- [key=value ...]] [nocanon] [interpolate] | ||
Context: | server config, virtual host, directory | ||
Status: | Extension | ||
Module: | mod_proxy | ||
connectiontimeout | +timeout | +Connect timeout in seconds. + The number of seconds Apache waits for the creation of a connection to + the backend to complete. By adding a postfix of ms the timeout can be + also set in milliseconds. + | |
disablereuse | Off | This parameter should be used when you want to force mod_proxy @@ -856,7 +831,8 @@ through | |
flushpackets | @@ -873,6 +849,12 @@ throughThe time to wait for additional input, in milliseconds, before flushing the output brigade if 'flushpackets' is 'auto'. | +||
iobuffersize | +8192 | +Adjusts the size of the internal scratchpad IO buffer. This allows you
+ to override the ProxyIOBufferSize for a specific worker.
+ This must be at least 512 or set to 0 for the system default of 8192.
+ | |
keepalive | Off | This parameter should be used when you have a firewall between your @@ -901,6 +883,15 @@ through | |
receivebuffersize | +0 | +Adjusts the size of the explicit (TCP/IP) network buffer size for
+ proxied connections. This allows you to override the
+ ProxyReceiveBufferSize for a specific worker.
+ This must be at least 512 or set to 0 for the system default.
| |
redirect | - | @@ -928,19 +919,16 @@ through- | Single letter value defining the initial status of this worker: 'D' is disabled, 'S' is stopped, 'I' is ignore-errors, - 'H' is hot-standby and 'E' is in an error state. Status - can be set (which is the default) by prepending with '+' or + 'H' is hot-standby and 'E' is in an error state. Status + can be set (which is the default) by prepending with '+' or cleared by prepending with '-'. Thus, a setting of 'S-E' sets this worker to Stopped and clears the in-error flag. |
timeout | -Timeout |
+ ProxyTimeout |
Connection timeout in seconds.
- If not set the Apache will wait until the free connection
- is available. This directive is used for limiting the number
- of connections to the backend server together with max
- parameter.
+ The number of seconds Apache waits for data sent by / to the backend.
|
ttl | - | @@ -952,7 +940,8 @@ through
If the Proxy directive scheme starts with the
- balancer://
then a virtual worker that does not really
+ balancer://
(eg: balancer://cluster/
,
+ any path information is ignored) then a virtual worker that does not really
communicate with the backend server will be created. Instead it is responsible
for the management of several "real" workers. In that case the special set of
parameters can be add to this virtual worker. See mod_proxy_balancer
@@ -966,8 +955,9 @@ through
byrequests
, to perform weighted
- request counting or bytraffic
, to perform weighted
- traffic byte count balancing. Default is byrequests
.
+ request counting, bytraffic
, to perform weighted
+ traffic byte count balancing, or bybusyness
, to perform
+ pending request balancing. Default is byrequests
.
On
the semi-colon character ';' will be
+ used as an additional sticky session path deliminator/separator. This
+ is mainly used to emulate mod_jk's behavior when dealing with paths such
+ as JSESSIONID=6736bcf34;foo=aabfa
+ A sample balancer setup
- ProxyPass /special-area http://special.example.com/ smax=5 max=10
+ ProxyPass /special-area http://special.example.com smax=5 max=10
ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover=On
<Proxy balancer://mycluster>
@@ -1032,7 +1029,8 @@ through
removes the normal limited protection against URL-based attacks
provided by the proxy.
The optional interpolate keyword, in combination with +
The optional interpolate keyword (available in
+ httpd 2.2.9 and later), in combination with
ProxyPassInterpolateEnv
causes the ProxyPass
to interpolate environment variables, using the syntax
${VARNAME}. Note that many of the standard CGI-derived
@@ -1057,7 +1055,7 @@ through
This directive, together with the interpolate argument to
ProxyPass
, ProxyPassReverse
,
@@ -1100,9 +1098,22 @@ through
will cause a local request for
- http://example.com/mirror/foo/bar.gif
to be internally converted
+ http://example.com/foo/bar.gif
to be internally converted
into a proxy request to http://backend.example.com/foo/bar.gif
.
The URL argument must be parsable as a URL before regexp + substitutions (as well as after). This limits the matches you can use. + For instance, if we had used
+
+ ProxyPassMatch ^(/.*\.gif)$ http://backend.example.com:8000$1
+
in our previous example, it would fail with a syntax error + at server startup. This is a bug (PR 46665 in the ASF bugzilla), + and the workaround is to reformulate the match:
+
+ ProxyPassMatch ^/(.*\.gif)$ http://backend.example.com:8000/$1
+
The !
directive is useful in situations where you don't want
to reverse-proxy a subdirectory.
RewriteRule ... [P]
) from mod_rewrite
because it doesn't depend on a corresponding ProxyPass
directive.
- The optional interpolate keyword, used together with +
The optional interpolate keyword (available in
+ httpd 2.2.9 and later), used together with
ProxyPassInterpolateEnv
, enables interpolation
of environment variables specified using the format ${VARNAME}.
Set-Cookie
headers.
request
ProxyPreserveHost On|Off
ProxyPreserveHost Off
scheme is effectively the protocol that should be used to
- communicate with the remote server; only http
is supported by
- this module.
http
and https
+ are supported by this module. When using https
, the requests
+ are forwarded through the remote proxy using the HTTP CONNECT method.
- ProxyRemote http://goodguys.com/ http://mirrorguys.com:8000
- ProxyRemote * http://cleversite.com
- ProxyRemote ftp http://ftpproxy.mydomain.com:8080
+ ProxyRemote http://goodguys.example.com/ http://mirrorguys.example.com:8000
+ ProxyRemote * http://cleverproxy.localdomain
+ ProxyRemote ftp http://ftpproxy.mydomain:8080
In the last example, the proxy will forward FTP requests, encapsulated @@ -1346,7 +1359,7 @@ expressions
This directive is used as an alternate method of setting any of the parameters available to Proxy balancers and workers normally done via the @@ -1417,7 +1430,7 @@ expressions
Description: | Network timeout for proxied requests |
---|---|
Syntax: | ProxyTimeout seconds |
Default: | ProxyTimeout 300 |
Default: | Value of |
Context: | server config, virtual host |
Status: | Extension |
Module: | mod_proxy |