]> granicus.if.org Git - apache/commitdiff
Merge r1421851 from trunk:
authorTakashi Sato <takashi@apache.org>
Tue, 21 May 2013 11:40:29 +0000 (11:40 +0000)
committerTakashi Sato <takashi@apache.org>
Tue, 21 May 2013 11:40:29 +0000 (11:40 +0000)
Fix use of trailing slashes in proxy
balancer and member URLs and add a little
explanation.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1484766 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/mod/mod_proxy.xml
docs/manual/mod/mod_proxy_balancer.xml
docs/manual/mod/mod_proxy_fcgi.xml
docs/manual/mod/mod_proxy_scgi.xml

index e4d9e6049f194b8a471debc1d06b41b7ac0bdf2f..05dee9115a24d3a6fa77d03c12175addde62f86c 100644 (file)
@@ -722,6 +722,11 @@ expressions</description>
         <p>The balancerurl is only needed when not in <code>&lt;Proxy <var>balancer://</var>...&gt;</code>
             container directive. It corresponds to the url of a balancer defined in
             <directive module="mod_proxy">ProxyPass</directive> directive.</p>
+        <p>The path component of the balancer URL in any
+            <code>&lt;Proxy <var>balancer://</var>...&gt;</code> container directive
+            is ignored.</p>
+        <p>Trailing slashes should typically be removed from the URL of a
+            <code>BalancerMember</code>.</p>
     </usage>
 </directivesynopsis>
 
@@ -747,8 +752,8 @@ expressions</description>
     <example>
         <highlight language="config">
 &lt;Proxy balancer://hotcluster&gt;
-    BalancerMember http://www2.example.com:8080/ loadfactor=1
-    BalancerMember http://www3.example.com:8080/ loadfactor=2
+    BalancerMember http://www2.example.com:8080 loadfactor=1
+    BalancerMember http://www3.example.com:8080 loadfactor=2
     ProxySet lbmethod=bytraffic
 &lt;/Proxy&gt;
       </highlight>
@@ -1075,7 +1080,7 @@ ProxyPass /mirror/foo http://backend.example.com
     </table>
 
     <p>If the Proxy directive scheme starts with the
-    <code>balancer://</code> (eg: <code>balancer://cluster/</code>,
+    <code>balancer://</code> (eg: <code>balancer://cluster</code>,
     any path information is ignored)  then a virtual worker that does not really
     communicate with the backend server will be created. Instead it is responsible
     for the management of several "real" workers. In that case the special set of
@@ -1179,22 +1184,22 @@ ProxyPass /mirror/foo http://backend.example.com
 ProxyPass /special-area http://special.example.com smax=5 max=10
 ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover=On
 &lt;Proxy balancer://mycluster&gt;
-    BalancerMember ajp://1.2.3.4:8009/
-    BalancerMember ajp://1.2.3.5:8009/ loadfactor=20
+    BalancerMember ajp://1.2.3.4:8009
+    BalancerMember ajp://1.2.3.5:8009 loadfactor=20
     # Less powerful server, don't send as many requests there,
-    BalancerMember ajp://1.2.3.6:8009/ loadfactor=5
+    BalancerMember ajp://1.2.3.6:8009 loadfactor=5
 &lt;/Proxy&gt;
     </highlight>
 
     <p>Setting up a hot-standby, that will only be used if no other
      members are available</p>
     <highlight language="config">
-ProxyPass / balancer://hotcluster/ 
+ProxyPass / balancer://hotcluster/
 &lt;Proxy balancer://hotcluster&gt;
-    BalancerMember ajp://1.2.3.4:8009/ loadfactor=1
-    BalancerMember ajp://1.2.3.5:8009/ loadfactor=2
+    BalancerMember ajp://1.2.3.4:8009 loadfactor=1
+    BalancerMember ajp://1.2.3.5:8009 loadfactor=2
     # The server below is on hot standby
-    BalancerMember ajp://1.2.3.6:8009/ status=+H
+    BalancerMember ajp://1.2.3.6:8009 status=+H
     ProxySet lbmethod=bytraffic
 &lt;/Proxy&gt;
     </highlight>
index 1454d2153025abb7a58f2c4fd9680802e27854df..64f21a0496abd74e10e5c5f9cb0c8bf6ce1556c0 100644 (file)
     </p>
 
     <highlight language="config">
-&lt;Proxy balancer://mycluster/&gt;
-    BalancerMember http://192.168.1.50:80/
-    BalancerMember http://192.168.1.51:80/
+&lt;Proxy balancer://mycluster&gt;
+    BalancerMember http://192.168.1.50:80
+    BalancerMember http://192.168.1.51:80
 &lt;/Proxy&gt;
-ProxyPass /test balancer://mycluster/
-ProxyPassReverse /test balancer://mycluster/
+ProxyPass /test balancer://mycluster
+ProxyPassReverse /test balancer://mycluster
     </highlight>
 
     <p>Another example of how to provide load balancing with stickyness
@@ -107,13 +107,13 @@ ProxyPassReverse /test balancer://mycluster/
 
     <highlight language="config">
 Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
-&lt;Proxy balancer://mycluster/&gt;
-    BalancerMember http://192.168.1.50:80/ route=1
-    BalancerMember http://192.168.1.51:80/ route=2
+&lt;Proxy balancer://mycluster&gt;
+    BalancerMember http://192.168.1.50:80 route=1
+    BalancerMember http://192.168.1.51:80 route=2
     ProxySet stickysession=ROUTEID
 &lt;/Proxy&gt;
-ProxyPass /test balancer://mycluster/
-ProxyPassReverse /test balancer://mycluster/
+ProxyPass /test balancer://mycluster
+ProxyPassReverse /test balancer://mycluster
     </highlight>
 </section>
 
@@ -140,7 +140,7 @@ ProxyPassReverse /test balancer://mycluster/
     <dt><var><a name="balancer_name" id="balancer_name">BALANCER_NAME</a></var></dt>
     <dd>
     <p>This is assigned the name of the balancer used for the current
-    request. The value is something like <code>balancer://foo/</code>.</p>
+    request. The value is something like <code>balancer://foo</code>.</p>
     </dd>
 
     <!-- ============= BALANCER_WORKER_NAME ================== -->
@@ -249,10 +249,10 @@ ProxyPassReverse /test balancer://mycluster/
     configuring the name of the cookie and the name of the URL parameter
     separated by a vertical bar (<code>|</code>) as in the following example:</p>
     <highlight language="config">
-ProxyPass /test balancer://mycluster/ stickysession=JSESSIONID|jsessionid scolonpathdelim=On
+ProxyPass /test balancer://mycluster stickysession=JSESSIONID|jsessionid scolonpathdelim=On
 &lt;Proxy balancer://mycluster&gt;
-    BalancerMember http://192.168.1.50:80/ route=node1
-    BalancerMember http://192.168.1.51:80/ route=node2
+    BalancerMember http://192.168.1.50:80 route=node1
+    BalancerMember http://192.168.1.51:80 route=node2
 &lt;/Proxy&gt;
     </highlight>
     <p>If the cookie and the request parameter both provide routing information
index ca32557e8c8652faa41b38249bdd9f1949731488..eb8771ab8c2503a091f028e75ade453dab3530dc 100644 (file)
@@ -93,8 +93,8 @@
     <highlight language="config">
 ProxyPass /myapp/ balancer://myappcluster/
 &lt;Proxy balancer://myappcluster/&gt;
-    BalancerMember fcgi://localhost:4000/
-    BalancerMember fcgi://localhost:4001/
+    BalancerMember fcgi://localhost:4000
+    BalancerMember fcgi://localhost:4001
 &lt;/Proxy&gt;
     </highlight>
     </example>
index 602c211664bb7c3c816e30bc0497676ca5ba590f..2f81adc7497add943859318c42c5e1a62068e8c6 100644 (file)
@@ -69,9 +69,9 @@
     <example><title>Balanced gateway</title>
     <highlight language="config">
 ProxyPass /scgi-bin/ balancer://somecluster/
-&lt;Proxy balancer://somecluster/&gt;
-    BalancerMember scgi://localhost:4000/
-    BalancerMember scgi://localhost:4001/
+&lt;Proxy balancer://somecluster&gt;
+    BalancerMember scgi://localhost:4000
+    BalancerMember scgi://localhost:4001
 &lt;/Proxy&gt;
     </highlight>
     </example>