2010-01-09 2 views
1

Я использую apache на 80-порте, который перенаправляет все запросы на tomcat6 на порт 8080. В моем приложении я использую раму struts2. В tomcat я использую перенаправление из приложения ROOT в мое приложение «MyApp».Проблема с перенаправлением Apache + Tomcat6 + Struts2

Когда я иду по ссылкам на моем сайте я вижу хорошие URL, как www.mysite.com/order

Но когда распорка перенаправляет меня где-нибудь URL-адрес имеет форму, как www.mysite.com:8080/MyApp/ заказ

Как сделать это URL-адресом симпатичным?

ответ

1

Я делаю это, используя AJP connector между Apache и Tomcat. Вот отрывок из того, что я использую в моих файлах конфигурации:

Часть конфигурации сервера Apache ($ APACHE_DIR/сайты-доступные/по умолчанию):

NameVirtualHost *:80 
NameVirtualHost *:443 

LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so 
JkWorkersFile /etc/apache2/workers.conf 
JkLogFile  /var/log/apache2/mod_jk.log 
JkLogLevel info 
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " 

<VirtualHost *:80> 
    ServerName brasee.com 
    ServerAlias www.brasee.com 
    JkMount /* ajp13secured 
</VirtualHost> 

Часть конфигурации Tomcat в (конф/сервер. xml):

<Connector port="8080" protocol="HTTP/1.1" 
      connectionTimeout="20000" 
      redirectPort="8443" /> 
<!-- Define an AJP 1.3 Connector on port 8008 --> 
<Connector port="8008" protocol="AJP/1.3" redirectPort="8080" /> 
0

Как вы выполняете пересылку? Правильный способ - настроить Apache как обратный прокси-сервер с помощью mod_proxy. Для получения информации см. here. Таким образом, не будет проблем с перенаправлением Struts.