Виртуальные хосты Apache 2.2 + приложения Tomcat 7

Я установил на одной машине один сервер Apache и один сервер Tomcat 7. Сервер apache используется и настраивается с включенными виртуальными хостами, как предполагается, для сервера нескольких веб-сайтов php. Однако нам также необходимо обслуживать некоторые приложения tomcat, поэтому нам нужно настроить соединитель ajp.

Все идет хорошо, мне удалось настроить несколько виртуальных хостов Apache, которые обслуживают приложения tomcat, но у меня есть только одна проблема:

Переменные сеанса не поддерживаются при доступе к java-приложению через виртуальный хост apache. Это прекрасно работает при подключении напрямую к порту 8080 сервера Tomcat.

В диспетчере Tomcat для каждого приложения я вижу, что количество сеансов увеличивается с каждым обновлением страницы с виртуальных хостов Apache.

Java-приложение развертывается в tomcat в папке / webapps / testapp.

Сервер tomcat xml имеет коннектор ajp, описанный как:

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" 
maxThreads="300" minSpareThreads="10" enableLookups="false"
tcpNoDelay="true" tomcatAuthentication="false" URIEncoding="UTF-8" />

Веб-сервер apache содержит виртуальный хост:

<VirtualHost *:80>
    ServerName testapp.com
    ServerAlias *.testapp.com
    ProxyPreserveHost on
    ProxyRequests     off
    ProxyPass / ajp://localhost:8009/testapp/
    ProxyPassReverse / ajp://localhost:8009/testapp/
</VirtualHost>

Так что Apache прокси с Tomcat работает нормально. Дело в том, что jsp сессии не работают через прокси. Как я могу заставить это работать? Что-то не так с моим конфигом?

1 ответ

Поэтому решение состоит в том, чтобы добавить еще одну директиву для apache VHost:

ProxyPassReverseCookiePath /testapp /

Таким образом, заголовок файлов cookie не будет поврежден, и tomcat увидит сессию в порядке.

Другие вопросы по тегам