summaryrefslogtreecommitdiff
path: root/docs/manual/mod/mod_proxy.xml
diff options
context:
space:
mode:
authorLuca Toscano <elukey@apache.org>2018-06-24 10:32:15 +0000
committerLuca Toscano <elukey@apache.org>2018-06-24 10:32:15 +0000
commit15a60da39efa9532f99d6cb569e57cc4ab77a186 (patch)
tree7b60490687ccfdca90f8692bfd8024b4114ad9f3 /docs/manual/mod/mod_proxy.xml
parent1322dc60319419fdd3e7799b42fc3ffd9b6da6dd (diff)
downloadhttpd-15a60da39efa9532f99d6cb569e57cc4ab77a186.tar.gz
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
Diffstat (limited to 'docs/manual/mod/mod_proxy.xml')
-rw-r--r--docs/manual/mod/mod_proxy.xml21
1 files changed, 14 insertions, 7 deletions
diff --git a/docs/manual/mod/mod_proxy.xml b/docs/manual/mod/mod_proxy.xml
index d0a4e1432d..67e752ba2b 100644
--- a/docs/manual/mod/mod_proxy.xml
+++ b/docs/manual/mod/mod_proxy.xml
@@ -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>