On Mar 24, 2009, at 9:44 AM, Ruediger Pluem wrote:

On 24.03.2009 14:28, Jim Jagielski wrote:
There have been a few times when people get caught up when
using ProxyPassReverse with balancers that contain a path...
After all, the normal convention is everywhere you see a
ProxyPass there should be a corresponding ProxyPassReverse
that follows the same format. However in cases where
ProxyPass contains a path, PPR doesn't work correctly...

This fixes that but is also safe for the vast majority of
existing sites. I plan to commit unless there are objections:

Index: modules/proxy/proxy_util.c
===================================================================
--- modules/proxy/proxy_util.c    (revision 757753)
+++ modules/proxy/proxy_util.c    (working copy)
@@ -1080,11 +1080,9 @@
      * or may not be the right one... basically, we need
      * to find which member actually handled this request.
      *
-         * TODO: Recover the path from real and use that
-         *       for more exact matching
      */
     if ((strncasecmp(real, "balancer:", 9) == 0) &&
- (balancer = ap_proxy_get_balancer(r->pool, sconf, real))) {
+            (balancer = ap_proxy_get_balancerwpath(r->pool, sconf,
real))) {

Doesn't it make more sense to cut off the path of real here to get the balancer instead of adding a new function to the API (which also requires a minor bump,
but thats just nitpicking)?


Well, cutting off path from real is what ap_proxy_get_balancer() actually
*does* and is what I'm trying to adjust :)

Reply via email to