On Jan 21, 2013, at 4:09 PM, Rainer Jung <rainer.j...@kippdata.de> wrote:

> 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:
> 

What's important is to recall that it's just the Balancers and
Workers which are affected. Nothing else. Thats the reason for
the directive name-change, to make it clear that it only
affects those 2 components.

You would have noticed that if you had used
        ProxyPass /p/ http://myvhost:8080/

then even with BI Off, it would have "worked" in the vhost
case. Again, the balancer is defined in the top level server
but it's not inherited.

Also note that BI *only* is of interest if people do silly things
like define all their Balancers at the top level and use them
only in Vhosts. If they do reasonable things, like define all
Proxy-related stuff in the vhosts where they should apply, then
it doesn't matter if BI is off or on.

BI exists only for edge-cases, and that's why it defaults to
the existing behavior; but in some, you want to be able to
disable that inheritance.

Reply via email to