Файлы 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

        <Прокси *>
                Заказ отрицать, разрешить
                Разрешить от всех
        

        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 в сочетании

РЕДАКТИРОВАТЬ: печенье на самом деле устанавливается. Я предполагаю, что проблема в том, что 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>
Другие вопросы по тегам