Monday, March 26, 2018

apache 2.2 - Tomcat cookies not working via my ProxyPass VirtualHost



I'm having some issues with getting cookies to work when using a ProxyPass to redirect traffic on port 80 to a web-application hosted via Tomcat.



My motivation for enabling cookies is to get rid of the "jsessionid=" parameter that is appended to the URLs.



I've enabled cookies in my context.xml in META-INF/ for my web application.
When I access the webapplication via http://url:8080/webapp it works as expected, the jsessionid parameter is not visible in the URL, instead it's stored in a cookie.



When accessing my website via an apache2 virtualhost the cookies doesn't seem to work because now "jsessionid" is being appended to the URLs. How can I solve this issue?




Here's my VHost configuration:





ServerName somedomain.no
ServerAlias www.somedomain.no


Order deny,allow
Allow from all



ProxyPreserveHost Off
ProxyPass / http://localhost:8080/webapp/
ProxyPassReverse / http://localhost:8080/webapp/

ErrorLog /var/log/apache2/somedomain.no.error.log
CustomLog /var/log/apache2/somedomain.no.access.log combined




EDIT: The cookie is actually being set when I visit from http://somedomain.no, but the cookie has its Path set to "/webapp".


Answer



I figured it out.



Add this to the VHost configuration:




ProxyPassReverseCookiePath /webapp /


No comments:

Post a Comment

linux - How to SSH to ec2 instance in VPC private subnet via NAT server

I have created a VPC in aws with a public subnet and a private subnet. The private subnet does not have direct access to external network. S...