Httpd ProxyPass: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 77: Line 77:
==max==
==max==


Reduces the maximum number of connections in the pool, as described in [[httpd mod_proxy Concepts#maximum_number_of_connections]].
Reduces the maximum number of connections in the pool, as described in [[httpd mod_proxy Concepts#maximum_number_of_connections|mod_proxy Concepts - Connection Pooling]].

Revision as of 22:08, 2 January 2017

External

Internal

Overview

The ProxyPass directive maps remote servers into the local server URL-space, by creating a worker that handles the request associated with the declared remote URL. A more flexible alternative is the use of RewriteRule with the [P] flag.

For ProxyPass-related mod_proxy concepts see:

ProxyPass Concepts

It can be used inside a <Location> or <LocationMatch> directive, see Example below. <ProxyPass> is not supported within <Directory> and <Files> containers.

Syntax

ProxyPass [path] !|url [key=value ...]

The path is the name of a local virtual path.

The url is a partial URL for the origin server. It cannot include a query string.


If path ends with a trailing "/", the url should also end with a trailing "/", and vice-versa, otherwise the resulting requests to the backend may miss some of the needed slashes and produce unwanted results.

Example

ProxyPass "/something" "http://example.com/something-else

Alternative using <Location>:

<Location "/something">
    ProxyPass "http://example.com/something-else"
</Location>

Order

ProxyPass and ProxyPassMatch rules are checked in the order in which they were specified in the configuration file, and the first rule match wins. For the same reason, exclusions must come before the general ProxyPass directives.

Also see:

Worker Sharing

Preventing a Sub-Directory to Be Proxied

ProxyPass "/something/do-not-proxy" "!"
ProxyPass "/something" "http://example.com"

Connection Pool Configuration

For concepts, see:

ProxyPass Connection Pool Concepts

max

Reduces the maximum number of connections in the pool, as described in mod_proxy Concepts - Connection Pooling.