On 17.12.2012 09:53, Graham Leggett wrote: > On 16 Dec 2012, at 4:51 PM, Rainer Jung <[email protected]> wrote: > >> Graham, can you give an example? I don't get the "any attempt at setting >> any directive silently unsets an arbitrary selection of other proxy >> directives at the same time". > > Take a look at this code specifically: > > + else { > + 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; > + } > > The above code resets seven proxy directives to their default values, whether > they have been overridden by the administrator or not. There is no merge > going on at all. As a result, an administrator that adds any unrelated global > scoped proxy directive causes the above seven directives to disappear as a > side effect, without warning or reason.
That's the whole purpose of the "ProxyPassInherit Off" setting. If you switch the global setting from "On" to "Off", then global proxy targets and workers are not merged to any vhost. If you switch to "Off" only in a VHost, then only that VHost does not inherit (merge) the globally defined ones. If you switch to "Off" globally but again to "On" in a VHost, then only those VHosts will inherit. I still don't understand "an administrator that adds any unrelated global scoped proxy directive causes the above seven directives to disappear". The merging is only turned off (directives disappear), if the administrator adds "ProxyPassInherit Off", and that's not any unrelated directive. The whole purpose of that directive is turning the merging of. I think Jim originally had a technical reason related to the balancer manager for this. I didn't check that reasoning, but from my own experience, ProxyPass and similar are often related to specific vhosts, so defining a global ProxyPass and then having it automatically in every VHost can be quite a surprise. I agree that this change is disruptive, but that's why we made the default still behaving like before (merge everything). Regards, Rainer
