On 04/06/2007 05:02 PM, Georg von Zezschwitz wrote:
> Hi,
> 
> I'd like to suggest another extension for mod_proxy*:
> I always disliked to configure the router name at both the servlet
> container like Tomcat
> as well as at the frontend server.
> The names even have to be exactly the same, difficult... :-).
> 
> Particulary, I like to copy the Tomcat configuration file from one
> server to the other,
> and tend to forget changing jvmRoute - the only difference.
> 
> So, I want to suggest to make this more user friendly.
> 
> I can think of 3 approaches:
> 
> 1) Checking in mod_proxy* if the configured route extension on a
> "Set-Cookie" by
>    the backend server matches the router name and log an error otherwise.
>    This would be helpful for users to understand why stickiness is not
> working.
> 
> 2) Actively correct a wrong/missing ".router-name" value in Set-Cookie
> directives of
>    backend connections.
> 
> 3) Encourage the user to omit the "jvmRoute"-setting in the backend, add
> the routername
>    on Set-Cookie in mod_proxy, and remove the router-name on incoming
> cookies before
>    passing them to the backend.

I am not really in favour to reinvent the wheel if things can be already done
with other modules.

1), 2), 3) boil down to:

The administrator did not take enough care to synchronize its Tomcat 
configuration
with its httpd configuration. If you want to avoid this, better leave your hands
off the Tomcat configuration, omit the jvmRoute setting and set your own cookie 
inside
of httpd to take care of sticky sessions:

Header add Set-Cookie "MYCOOKIE=SOMEVALUE.%{BALANCER_WORKER_ROUTE}e; path=/;" 
env=BALANCER_ROUTE_CHANGED

This does the right thing on any of your n front end httpds and with any of 
your m
backend Tomcats. So your Tomcat config does not need to be different on 
different boxes
because of sticky sessions and the directive above can be the same on each of 
your httpd boxes.
Of course this does NOT work if the client does not support cookies.
But this wouldn't work with your suggestion either and as far as I understand 
you
it is not your intention to make this work.

Regards

RĂ¼diger

Reply via email to