On 21.01.2013 15:26, Jim Jagielski wrote: > Disabling BalancerInherit is only needed when using the > Balancer Manager and only if there are conflicts between > a Balancer in the top-level server and a vhost. With BI On, > if a balancer is defined at the top level, then vhosts A > and B get their own individual copy. But when using the Balancer > Manager, it may be difficult or impossible to affect change in > the balancer you want. If you use BM to change the Balancer > of the top-level server, those changes do not get applied to > the vhosts that had inherited them when httpd was 1st started. > This can be confusing.
Understood and agreed. > Having BI Off ensures that: > > 1. All Balancers must be explicitly defined for whatever > vhosts are using them > 2. All changes on those Balancers affect ONLY that specific > server. I find it hard to really understand what's going on after applying the patch. Many configuration items are still inherited even with BI Off, but the underlying balancers and/or workers are no longer inherited. Examples are ProxyPass or <Proxy>. I am unsure what kind of behavior this could lead to. For example I tested: ProxyPass /p/ balancer://myvhost:8080/ <Proxy balancer://myvhost:8080/> BalancerMember http://myvhost:8080/ </Proxy> BalancerInherit Off <VirtualHost *:8080> DocumentRoot "htdocs/myvhost" ServerName myvhost ErrorLog "logs/myvhost-error_log" CustomLog "logs/myvhost-access_log" common </VirtualHost> In this case the ProxyPass rule is inherited from the global server to the VHost myvhost. When I access curl -D - http://myvhost:8080/p/ I get a status 500 error page. VHost error log contains: mod_proxy_balancer.c(73): canonicalising URL //loghost:8080/ proxy_util.c(1849): *: found reverse proxy worker for balancer://loghost/ mod_proxy.c(1081): AH01143: Running scheme balancer handler (attempt 0) mod_proxy_http.c(2173): AH01113: HTTP: declining URL balancer://loghost/ AH01144: No protocol handler was valid for the URL /p/. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule. It is unexpected that the rule gets inherited but the worker needed by the rule not. I understand the reservations of Graham about breaking configs, but i think the proposed implementation is harder to understand. I don't have a solution, but I don't feel comfortable with the current inherit proposal either. I'm very open for comments! Regards, Rainer