Commit b344a94a authored by Mike Rumph's avatar Mike Rumph
Browse files

Restructure ProxyPass directive documentation

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1696884 13f79535-47bb-0310-9956-ffa450edef68
parent b05284cd
Loading
Loading
Loading
Loading
+20 −16
Original line number Diff line number Diff line
@@ -869,6 +869,14 @@ expressions</description>
    <note><strong>Note:</strong> The path associated with the <code>unix:</code>
    URL is <directive>DefaultRuntimeDir</directive> aware.</note>

    <p>When used inside a <directive type="section" module="core"
    >Location</directive> section, the first argument is omitted and the local
    directory is obtained from the <directive type="section" module="core"
    >Location</directive>. The same will occur inside a
    <directive type="section" module="core">LocationMatch</directive> section;
    however, ProxyPass does not interpret the regexp as such, so it is necessary
    to use <directive>ProxyPassMatch</directive> in this situation instead.</p>

    <p>Suppose the local server has address <code>http://example.com/</code>;
    then</p>

@@ -882,6 +890,14 @@ expressions</description>
    <code>http://example.com/mirror/foo/bar</code> to be internally converted
    into a proxy request to <code>http://backend.example.com/bar</code>.</p>

    <p>The ProxyPass directive is not supported in <directive type="section" module="core"
    >Directory</directive> or <directive type="section" module="core"
    >Files</directive> sections.</p>

    <p>If you require a more flexible reverse-proxy configuration, see the
    <directive module="mod_rewrite">RewriteRule</directive> directive with the
    <code>[P]</code> flag.</p>

    <p>The following alternative syntax is possible; however, it can carry a
    performance penalty when present in very large numbers. The advantage of
    the below syntax is that it allows for dynamic control via the
@@ -938,6 +954,8 @@ ProxyPass "/mirror/foo" "http://backend.example.com"

    </note> <!-- /ordering_proxypass -->

    <p><strong>ProxyPass <code>key=value</code> Parameters</strong></p>

    <p>In Apache HTTP Server 2.1 and later, mod_proxy supports pooled
    connections to a backend server.  Connections created on demand
    can be retained in a pool for future use.  Limits on the pool size
@@ -1275,6 +1293,8 @@ ProxyPass "/" "balancer://hotcluster/"
&lt;/Proxy&gt;
    </highlight>

    <p><strong>Additional ProxyPass Keywords</strong></p>

    <p>Normally, mod_proxy will canonicalise ProxyPassed URLs.
    But this may be incompatible with some backends, particularly those
    that make use of <var>PATH_INFO</var>.  The optional <var>nocanon</var>
@@ -1288,22 +1308,6 @@ ProxyPass "/" "balancer://hotcluster/"
    The optional <var>noquery</var> keyword (available in
    httpd 2.4.1 and later) prevents this.</p>

    <p>When used inside a <directive type="section" module="core"
    >Location</directive> section, the first argument is omitted and the local
    directory is obtained from the <directive type="section" module="core"
    >Location</directive>. The same will occur inside a
    <directive type="section" module="core">LocationMatch</directive> section;
    however, ProxyPass does not interpret the regexp as such, so it is necessary
    to use <directive>ProxyPassMatch</directive> in this situation instead.</p>

    <p>This directive is not supported in <directive type="section" module="core"
    >Directory</directive> or <directive type="section" module="core"
    >Files</directive> sections.</p>

    <p>If you require a more flexible reverse-proxy configuration, see the
    <directive module="mod_rewrite">RewriteRule</directive> directive with the
    <code>[P]</code> flag.</p>

    <p>The optional <var>interpolate</var> keyword, in combination with
    <directive>ProxyPassInterpolateEnv</directive>, causes the ProxyPass
    to interpolate environment variables, using the syntax