Файлы cookie Tomcat не работают через мой ProxyPass VirtualHost
У меня возникли некоторые проблемы с получением файлов cookie при использовании ProxyPass для перенаправления трафика через порт 80 в веб-приложение, размещенное через Tomcat.
Моя мотивация для включения файлов cookie - избавиться от параметра "jsessionid=", который добавляется к URL-адресам.
Я включил куки в моем context.xml в META-INF/ для моего веб-приложения.
Когда я захожу в веб-приложение через http://url:8080/webapp, оно работает, как и ожидалось, параметр jsessionid не отображается в URL-адресе, вместо этого он сохраняется в файле cookie.
При доступе к моему веб-сайту через виртуальный хост apache2 файлы cookie не работают, потому что теперь к URL-адресам добавляется "jsessionid". Как я могу решить эту проблему?
Вот моя конфигурация VHost:
Имя_сервера somedomain.no ServerAlias www.somedomain.no <Прокси *> Заказ отрицать, разрешить Разрешить от всех Proxy> 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 в сочетании VirtualHost>
РЕДАКТИРОВАТЬ: печенье на самом деле устанавливается. Я предполагаю, что проблема в том, что cookie содержит "Путь: / webapp".
1 ответ
Я понял.
Добавьте это в конфигурацию VHost:
ProxyPassReverseCookiePath / webapp /
Спасибо за ответ, моя полная рабочая конфигурация выглядит так:
<VirtualHost *:80>
ServerName extener_url.xxx.co.zm
ProxyRequests Off
ProxyPass / http://localhost:8080/app/
ProxyPassReverse / http://localhost:8080/app/
ProxyPassReverseCookiePath /app /
ServerAdmin webmaster@localhost
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>