From: Rainer Jung In addition, if you wish to have caching enabled, consult
the documentation from The proxy manages the configuration of origin servers and their
+ communication parameters in objects called workers.
+ There are two built-in workers, the default forward proxy worker and the
+ default reverse proxy worker. Additional workers can be configured
+ explicitly. The two default workers have a fixed configuration
+ and will be used if no other worker matches the request.
+ They do not use HTTP Keep-Alive or connection pooling.
+ The TCP connections to the origin server will instead be
+ opened and closed for each request. Explicitly configured workers are identified by their URL.
+ They are usually created and configured using
+ This will create a worker associated with the origin server URL
+ or alternatively using Using explicitly configured workers in the forward mode is
+ not very common, because forward proxies usually communicate with many
+ different origin servers. Creating explicit workers for some of the
+ origin servers can still be useful, if they are used very often.
+ Explicitly configured workers have no concept of forward or reverse
+ proxying by themselves. They encapsulate a common concept of
+ communication with origin servers. A worker created by
+ The URL identifying a direct worker is the URL of its
+ origin server including any path components given: This example defines two different workers, each using a separate
+ connection pool and configuration. Worker sharing happens if the worker URLs overlap, which occurs when
+ the URL of some worker is a leading substring of the URL of another
+ worker defined later in the configuration file. In the following example the second worker isn't actually created. Instead the first
+ worker is used. The benefit is, that there is only one connection pool,
+ so connections are more often reused. Note that all configuration attributes
+ given explicitly for the later worker and some configuration defaults will
+ overwrite the configuration given for the first worker. This will be logged
+ as a warning. In the above example the resulting timeout value
+ for the URL If you want to avoid worker sharing, sort your worker definitions
+ by URL length, starting with the longest worker URLs. If you want to maximize
+ worker sharing use the reverse sort order. See also the related warning about
+ ordering Explicitly configured workers come in two flavors:
+ direct workers and (load) balancer workers.
+ They support many important configuration attributes which are
+ described below in the The set of options available for a direct worker
+ depends on the protocol, which is specified in the origin server URL.
+ Available protocols include Balancer workers are virtual workers that use direct workers known
+ as their members to actually handle the requests. Each balancer can
+ have multiple members. When it handles a request, it chooses a member
+ based on the configured load balancing algorithm. A balancer worker is created if its worker URL uses
+ You can control who can access your proxy via the
+ ProxyPassReverse /foo http://foo.example.com/bar
+
ProxyVia On
@@ -141,22 +146,125 @@
</Proxy>
-
- <Proxy *>
-
- Allow from all
-
-
- ProxyPass /foo http://foo.example.com/bar
- ProxyPassReverse /foo http://foo.example.com/bar
- http://backend.example.com
and using the given timeout
+ values. When used in a forward proxy, workers are usually defined
+ via the
+
+ ProxyPass /docs http://backend.example.com/docs
+
+ ProxyPass /examples http://backend.example.com/examples timeout=10
+ /apps
will be 10
instead
+ of 60
!ajp
,
+ ftp
, http
and scgi
.balancer
as the protocol scheme.
+ The balancer URL uniquely identifies the balancer worker.
+ Members are added to a balancer using
+ backend.example.com
except requests made to
/mirror/foo/i
.
Order is important: exclusions must come before the
- general
The configured
For the same reasons exclusions must come before the
+ general
As of Apache 2.1, the ability to use pooled connections to a backend
server is available. Using the key=value
parameters it is