Commit 3ffe678c authored by Luca Toscano's avatar Luca Toscano
Browse files

mod_proxy.xml: follow up r1834203

Add more precise info and warn notes about
variable interpolation.

PR: 62477



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1834244 13f79535-47bb-0310-9956-ffa450edef68
parent a253facd
Loading
Loading
Loading
Loading
+14 −7
Original line number Diff line number Diff line
@@ -1399,13 +1399,15 @@ ProxyPass "/" "balancer://hotcluster/"
    httpd 2.4.1 and later) prevents this.</p>

    <p>The optional <var>interpolate</var> keyword, in combination with
    <directive>ProxyPassInterpolateEnv</directive>, causes the ProxyPass
    <directive module="mod_proxy">ProxyPassInterpolateEnv</directive>, causes the ProxyPass
    to interpolate environment variables, using the syntax
    <var>${VARNAME}</var>.  Note that many of the standard CGI-derived
    environment variables will not exist when this interpolation happens,
    so you may still have to resort to <module>mod_rewrite</module>
    for complex rules.  Also note that interpolation is not supported
    within the scheme/hostname/port portion of a URL. Dynamic determination of
    for complex rules. Also note that interpolation is supported
    within the scheme/hostname/port portion of a URL only for variables that
    are available when the directive is parsed 
    (like <directive module="core">Define</directive>). Dynamic determination of
    those fields can be accomplished with <module>mod_rewrite</module>.
    The following example describes how to use <module>mod_rewrite</module>
    to dynamically set the scheme to http or https:</p>
@@ -2004,12 +2006,17 @@ header for proxied requests</description>
    and causes them to substitute the value of an environment
    variable <code>varname</code> for the string <code>${varname}</code>
    in configuration directives if the <var>interpolate</var> option is set.</p>
    <p>The scheme/hostname/port portion of <directive>ProxyPass</directive> cannot
    contain variables, please consider using <module>mod_rewrite</module> instead.</p>
    <p>Keep this turned off (for server performance) unless you need it!
    <p>The scheme/hostname/port portion of <directive>ProxyPass</directive> may
    contain variables, but only the ones available when the directive is parsed
    (for example, using <directive module="core">Define</directive>).
    For all the other use cases, please consider using
    <module>mod_rewrite</module> instead.</p>
    <note type="warning"><title>Performance warning</title>
    <p>Keep this turned off unless you need it!
    Adding variables to <directive>ProxyPass</directive> for example may lead to
    using the default mod_proxy's workers configured (that don't allow any fine
    the use of the default mod_proxy's workers configured (that don't allow any fine
    tuning like connections reuse, etc..).</p>
    </note>
</usage>
</directivesynopsis>