У меня есть веб-приложение, для которого я настраиваю корзину для покупок;Приложение обслуживает множество разных сайтов, каждый со своим доменом.Виртуальные хосты используются для перенаправления каждого домена на сервер Tomcat 6, а также для задания пути к статическим ресурсам этого конкретного сайта;эти статические ресурсы не могут быть сохранены в веб-приложении, поэтому они хранятся на сервере и обслуживаются через Apache.
сначала я использую JkMount в корне контекста, затем перезаписываю URL с помощью [P, L] для полученияконтекстный путь «mywebapp» вне URL, поэтому, когда кто-то переходит к этому приложению с доменом somedomain.com
, веб-приложение обрабатывает на somedomain.com/mywebapp/store/cart
, но браузер видит somedomain.com/store/cart
.До сих пор это работало очень хорошо;Проблема в том, что у каждого запроса сбрасывается сеанс, и я не знаю почему.
Если я удаляю apache из внешнего интерфейса обслуживания сеанса, он не сбрасывается и работает нормально (как я и ожидал).Но я не могу настроить свой виртуальный хост для перенаправления в приложение без потери сеансов.Я много читал об этой проблеме, но моя компетенция в JavaEE, и я очень мало знаю об Apache Web Server;поэтому я даже не знаю, с чего начать исследование исправления.
Я слышал о чем-то, называемом ProxyPassing, но я не уверен, что это значит или как оно работает;В большинстве примеров, которые я видел, есть изменения в Tomcat server.xml при добавлении домена, чего я не могу сделать, потому что домены (виртуальные хосты для сопоставления) добавляются динамически, и я могу перезапустить Apache, но не могу перезапустить JavaEEприложение каждый раз, когда добавляется новый сайт.
Есть какие-нибудь идеи по устранению этой проблемы или поиску первопричины?Какие-нибудь альтернативные подходы?
UDPATE : я собираюсь опубликовать запись своего виртуального хоста для одного из динамических веб-сайтов
<VirtualHost *:80>
ServerAdmin test@test.com
DocumentRoot "C:/wamp/www"
ServerName jawesome.com
ServerAlias www.jawesome.com
ErrorLog "logs/jawesome_com-error.log"
CustomLog "logs/jawesome_com-access.log" common
Alias /files/ "C:/static/1/uploaded_files/"
<Directory "C:/static/1/uploaded_files">
Options FollowSymLinks Indexes MultiViews
Order allow,deny
Allow from all
</Directory>
JkMount /webapp ajp13
JkMount /webapp/* ajp13
RewriteEngine on
#RewriteLogLevel 9
#RewriteLog "/usr/local/apache/logs/testrewrite.log"
RewriteCond %{REQUEST_URI} !^/(webapp/.*|files/.*)$
RewriteRule ^/(.*)$ /webapp/$1 [P,L]
</VirtualHost>