У меня есть некоторые проблемы с тем, чтобы заставлять cookie работать при использовании ProxyPass для перенаправления трафика в порте 80 к веб-приложению, размещенному через Tomcat.
Моя мотивация для того, чтобы включить куки должна избавиться от "jsessionid =" параметр, который добавляется к URL.
Я включил куки в своем context.xml в META-INF/для моего веб-приложения.
Когда я получаю доступ к webapplication с помощью http://url:8080/webapp, он работает как ожидалось, jsessionid параметр не видим в URL, вместо этого он хранится в cookie.
При доступе к моему веб-сайту через apache2 virtualhost cookie, кажется, не работают, потому что теперь "jsessionid" добавляется к URL. Как я могу решить эту проблему?
Вот моя конфигурация VHost:
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
Править: Cookie на самом деле устанавливается. Я предполагаю, что проблема состоит в том, что cookie содержит "Путь: / веб-приложение".
Я разобрался.
Добавьте это в конфигурацию VHost:
ProxyPassReverseCookiePath /webapp /