Файлы cookie Tomcat не работают через мой ProxyPass VirtualHost - PullRequest
11 голосов
/ 17 апреля 2010

У меня возникают некоторые проблемы с использованием файлов cookie при использовании ProxyPass для перенаправления трафика через порт 80 в веб-приложение, размещенное через Tomcat.

Моя мотивация для включения файлов cookie - избавиться от параметра "jsessionid =", добавляемого к URL-адресам.

Я включил файлы cookie в моем context.xml в META-INF / для моего веб-приложения.
Когда я получаю доступ к веб-приложению через http://url:8080/webapp, оно работает как положено, параметр jsessionid не отображается в URL-адресе, вместо этого он сохраняется в файле cookie.

При доступе к моему веб-сайту через виртуальный хост apache2 файлы cookie, похоже, не работают, поскольку теперь к URL-адресам добавляется «jsessionid». Как я могу решить эту проблему?

Вот моя конфигурация VHost:

<VirtualHost *:80>
        ServerName somedomain.no
        ServerAlias www.somedomain.no

        <Proxy *>
                Order deny,allow
                Allow from all
        </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 combined
</VirtualHost>

РЕДАКТИРОВАТЬ: cookie на самом деле устанавливается. Я предполагаю, что проблема в том, что cookie содержит «Путь: /webapp".

1 Ответ

21 голосов
/ 17 апреля 2010

Я понял это.

Добавьте это в конфигурацию VHost:

ProxyPassReverseCookiePath /webapp /
...