2014-01-02 3 views
0

У меня есть Java-приложение в моем tomcat, и я поместил Apache2 HTTP в качестве своего обратного прокси. На самом деле я уже сделал (довольно) хорошее перенаправление, но я хочу сделать его лучше.Apache 2 Перенаправление виртуального хоста Tomcat

Виртуальная настройка хоста для перенаправления на мой TOMCAT веб-приложение как ниже

<VirtualHost *:443> 
    ServerAdmin [email protected] 
    ServerName mywebapp.mydomain.com 

    ProxyRequests off 
    ProxyPreserveHost on 
    ErrorLog /usr/log/tomcat/tomcat.error.log 
    CustomLog /usr/log/tomcat/tomcat.log combined 
    <Proxy *> 
     Order deny,allow 
     Allow from all 
    </Proxy> 
    ProxyPass/ajp://localhost:8009/MyWebApp 
    ProxyPassReverse/ajp://localhost:8009/MyWebApp 

    Redirect//MyWebApp 

    SSLEngine on 
    SSLCertificateFile /etc/apache2/ssl/apache.crt 
    SSLCertificateKeyFile /etc/apache2/ssl/apache.key 
</VirtualHost> 

С выше настройки, я могу достигнуть моего веб-приложение, набрав: https://mywebapp.mydomain.com отлично.

Единственная забота: когда мое приложение оказывается в браузере, я вижу, что путь уподобиться: https://mywebapp.mydomain.com/MyWebApp/view/home.action

Есть в любом случае я могу сделать это становится: https://mywebapp.mydomain.com/view/home.action

Не раскрывая мою папку приложения в tomcat, которая является MyWebApp?

ответ

0

Посмотрите, поможет ли следующее. Я использовал его некоторое время назад:

ProxyPass /MyWebApp/ ajp://localhost:8009/ 
ProxyPassReverse /MyWebApp/ ajp://localhost:8009/ 

    <Location /MyWebApp/> 
    ProxyPassReverse/
    </Location> 

Похоже, что вышеуказанное не помогло. Я думал, что директива Redirect, которая у вас есть, позаботится об этом. Можете ли вы попробовать следующее?

RewriteEngine  on 
RewriteRule ^(/.*)  ajp://localhost:8009/MyWebApp/$1 [P] 

ProxyPass /MyWebApp//
ProxyPassReverse /MyWebApp//

    <Location /MyWebApp/> 
    ProxyPassReverse/
    </Location> 
+0

Хмм Кевин, мне нужно перенести мою папку MyWebApp в ROOT? –

Смежные вопросы