Not having looked into this in detail, but I believe you need this if you want to have the balancer manager running in a different virtual host then your balancer e.g. to expose this management interface only on a different port that might not be open to everyone. At least with 2.2.x the way to do this is to define the balancers on global level and use them via inheritance in the virtual hosts (one that uses the balancer and one that has the balancer manager). Having the balancer manager turned on in the "production" virtual host is likely a non-starter for many people due to security concerns.
Regards Rüdiger > -----Original Message----- > From: Jim Jagielski [mailto:[email protected]] > Sent: Mittwoch, 19. September 2012 16:34 > To: [email protected] > Subject: Re: svn commit: r1387603 - > /httpd/httpd/trunk/modules/proxy/mod_proxy.c > > I cannot think of one good reason why we've been doing the below... > I any case, I think vhosts inheriting these structs is a pretty > nasty bug, as well as memory hog... > > On Sep 19, 2012, at 10:17 AM, [email protected] wrote: > > > Author: jim > > Date: Wed Sep 19 14:17:03 2012 > > New Revision: 1387603 > > > > URL: http://svn.apache.org/viewvc?rev=1387603&view=rev > > Log: > > wtf are we doing merging in these from the parent?? > > These are server specific! > > > > Modified: > > httpd/httpd/trunk/modules/proxy/mod_proxy.c > > > > Modified: httpd/httpd/trunk/modules/proxy/mod_proxy.c > > URL: > http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/mod_proxy.c > ?rev=1387603&r1=1387602&r2=1387603&view=diff > > > ======================================================================== > ====== > > --- httpd/httpd/trunk/modules/proxy/mod_proxy.c (original) > > +++ httpd/httpd/trunk/modules/proxy/mod_proxy.c Wed Sep 19 14:17:03 > 2012 > > @@ -1173,13 +1173,13 @@ static void * merge_proxy_config(apr_poo > > proxy_server_conf *base = (proxy_server_conf *) basev; > > proxy_server_conf *overrides = (proxy_server_conf *) overridesv; > > > > - ps->proxies = apr_array_append(p, base->proxies, overrides- > >proxies); > > - ps->sec_proxy = apr_array_append(p, base->sec_proxy, overrides- > >sec_proxy); > > - ps->aliases = apr_array_append(p, base->aliases, overrides- > >aliases); > > - ps->noproxies = apr_array_append(p, base->noproxies, overrides- > >noproxies); > > - ps->dirconn = apr_array_append(p, base->dirconn, overrides- > >dirconn); > > - ps->workers = apr_array_append(p, base->workers, overrides- > >workers); > > - ps->balancers = apr_array_append(p, base->balancers, overrides- > >balancers); > > + ps->proxies = overrides->proxies; > > + ps->sec_proxy = overrides->sec_proxy; > > + ps->aliases = overrides->aliases; > > + ps->noproxies = overrides->noproxies; > > + ps->dirconn = overrides->dirconn; > > + ps->workers = overrides->workers; > > + ps->balancers = overrides->balancers; > > ps->forward = overrides->forward ? overrides->forward : base- > >forward; > > ps->reverse = overrides->reverse ? overrides->reverse : base- > >reverse; > > > > > >
