> -----Ursprüngliche Nachricht----- > Von: Jean-Frederic [mailto:[EMAIL PROTECTED] > Gesendet: Dienstag, 3. April 2007 11:32 > An: dev@httpd.apache.org > Betreff: Re: Bug 41897 / Session-Stickiness with mod_proxy_balancer > > > On Tue, 2007-04-03 at 08:30 +0200, Mladen Turk wrote: > > Georg von Zezschwitz wrote: > > > > > > As I (with Rüdigers help :-) ) found out, there is > already a bug report > > > to my problem: > > > #41897 describes the problem that the case-sensitivity of the > > > "stickysession"-Parameter > > > does not comply to the Java Servlet Spec (Cookie: > "JSESSIONID", url > > > based session > > > management ";jsessionid"). > > > > > > > This is not the breakage of the Servlet-Spec. > > As section 7.1.1 points out the: > > "The name of the session tracking cookie *must* > > be *JSESSIONID*." > > > > Next the section 7.1.3 says: > > > > "URL rewriting *may* be used by the server as the > > basis for session tracking. URL rewriting involves > > adding data, a session ID, to the URL path that is > > interpreted by the container to associate the > > request with a session. The session ID must be > > encoded as a path parameter in the URL string. The > > name of the parameter *must* be *jsessionid*." > > > > So nothing here says anything about case insensitivity, > > and JseSSioNId would be faulty in that case. > > > > IMHO the solution to this problem would be to use the > > mod_rewrite and setting the BALANCER_SESSION_ROUTE > > env variable from ;jsessionid path (or what ever). > > Later in balancer we should check for that if the > > find_session_route() returns NULL. > > This way no additional config param would be needed, so > > it would be backportable to 2.2.
IMHO adding config parameters is no blocker for a backport. Changing the meaning of existing ones or removing them would be blocker, but as far as I can tell this has not been proposed. stickysession would still have the same behaviour as today. > > That is a bit complex for the users. Agreed. Although I am not a friend of reinventing the wheel when things can be done with existing directives / modules (e.g. regarding the request to create a directive to set a stickysession Cookie via mod_proxy_balancer as in http://issues.apache.org/bugzilla/show_bug.cgi?id=38357) I think we need to provide an easier solution here, especially as this is regarding a standard configuration with a Tomcat in the backend. Currently I am undecided about the best way to reach this goal. > > It is probably more easy to add balancer->stickyurl = > "jsessionid" when > balancer->sticky is "JSESSIONID" and NULL otherwise. > > Or in get_path_param() test for "jsessionid" when balancer->sticky is > "JSESSIONID". I think we should not hardcode JSESSIONID here. I am not quite sure if this is possible with Tomcat, but with other app servers you can change the name of the session identifier, but the "case" behaviour remains the same in this case: Cookie all in uppercase, URL identifier all in lowercase. Regards Rüdiger