httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jan Kaluža <>
Subject Re: [PATCH] Balancers, VirtualHost and ProxyPass
Date Wed, 17 Dec 2014 07:35:45 GMT
On 12/16/2014 01:57 PM, Jim Jagielski wrote:
> Isn't this already addressed/handled with the BalancerInherit directive??

No, it isn't. The BalancerInherit only says that the balancers from the 
main config will be copied to vhost context *after* the config_tree is 
processed. And the word *after* is the problem here. When you try to use 
the inherited balancer in the vhost config, you can't, because vhost 
does not know about the inherited balancers in the time of config 

Every time you try to use (with ProxyPass for example) inherited 
balancer in the vhost, mod_proxy creates brand new balancer in the vhost 
context. This new balancer is completely ignored later and replaced by 
the original balancer you wanted to use when BalancerInherit is used.

If we think httpd should not allow ProxyPass in the VirtualHost with 
balancers defined outside of VirtualHost context, we should disable that 
and show warning that httpd doesn't support this configuration.

Otherwise we need to add balancer merging as I did in the patch.

Jan Kaluza

>> On Dec 10, 2014, at 7:25 AM, Jan Kaluža <> wrote:
>> Hi,
>> I've found out that following configuration does not work as expected:
>> <Proxy balancer://a>
>>    ...
>> </Proxy>
>> <VirtualHost *:80>
>>     ProxyPass / balancer://a stickysession=JSESSIONID|jsessionid
>> </VirtualHost>
>> In this case, two proxy_balancers are created. The first one in Proxy section in
the main config without stickysession and the second one in the vhost section with stickysession
>> Because of merge_proxy_config behaviour, the one from the main config is always preferred
and therefore you cannot set stickysession (and other options) this way.
>> Attached patch fixes that by changing the merge strategy for balancers array to merge
options set by ProxyPass.
>> I think we would need the same for proxy_worker too, but before I spent afternoon
working on it, I wanted to ask, do you think this is the right way how to fix this?
>> Regards,
>> Jan Kaluza
>> <httpd-trunk-balancer-vhost.patch>

View raw message