diff options
author | Luca Toscano <elukey@apache.org> | 2018-06-24 10:32:15 +0000 |
---|---|---|
committer | Luca Toscano <elukey@apache.org> | 2018-06-24 10:32:15 +0000 |
commit | 15a60da39efa9532f99d6cb569e57cc4ab77a186 (patch) | |
tree | 7b60490687ccfdca90f8692bfd8024b4114ad9f3 /docs/manual/mod/mod_proxy.xml | |
parent | 1322dc60319419fdd3e7799b42fc3ffd9b6da6dd (diff) | |
download | httpd-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.xml | 21 |
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> |