Jetty 7 will not allow me to customize a session cookie path
- by Bob Obringer
Using Jetty 7.0.2, I am unable to set a custom session cookie path.
I am hosting multiple sites on the same server using apache to proxy requests to the proper context. (replaced http as htp as stackoverflow thinks my multiple links might be spam)
<VirtualHost *:80>
ServerName context.domain.com
ProxyRequests On
ProxyPreserveHost Off
<Proxy *:80>
Order deny,allow
Allow from 127.0.0.1
</Proxy>
ProxyPass / htp://localhost:8080/context/
ProxyPassReverse / htp://localhost:8080/context/
<Location />
Order allow,deny
Allow from all
</Location>
</VirtualHost>
Jetty is running on the same server on port 8080 and my context is available @ /context
The user accesses the application @ htp://context.domain.com but jetty is setting the path for the session cookie @ /context. This prevents the browser from accessing the cookie since the the actual path to the context is not being used. I need to override Jetty's default setting to set the cookie for the context, and set the path at the root ( / ).
In my Jetty's webdefault.xml I have the following, which is partially working:
<context-param>
<param-name>org.eclipse.jetty.servlet.SessionCookie</param-name>
<param-value>CustomCookieName</param-value>
</context-param>
<context-param>
<param-name>org.eclipse.jetty.servlet.SessionPath</param-name>
<param-value>/</param-value>
</context-param>
The cookie is properly set with a custom name, but it is NOT setting the SessionPath. No matter what I set the value to... it refuses to set a cookie at any path but /context.
This has been driving me crazy so any help would be greatly appreciated.