]> granicus.if.org Git - apache/commitdiff
mod_proxy.xml: follow up r1834203
authorLuca Toscano <elukey@apache.org>
Sun, 24 Jun 2018 10:29:49 +0000 (10:29 +0000)
committerLuca Toscano <elukey@apache.org>
Sun, 24 Jun 2018 10:29:49 +0000 (10:29 +0000)
Add more precise info and warn notes about
variable interpolation.

PR: 62477

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1834242 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/mod/mod_proxy.xml

index 7d2f4b9c6bbee00893972469f460ed39b32026a6..bb3b0b32b41026a018d7fee83adb0c497703783d 100644 (file)
@@ -1431,13 +1431,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>
@@ -2053,12 +2055,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>