Przekieruj z Apache do Tomcat za pomocą mod_proxy

0

Mam domenę poprawnie skonfigurowany DNS o nazwie mydomain.com wskazujący na moim serwerze Ubuntu 16.04.3 w 11.11.11.11 , więc kiedy wprowadzać mydomain.com w przeglądarce, mam do domyślnej stronie Apache zainstalowany w taki serwer .

Mam również Tomcat 7 zainstalowany na tym samym serwerze z uruchomioną aplikacją JSF , więc kiedy przedstawię http://11.11.11.11:8080/myappname/ w mojej przeglądarce, moja aplikacja pojawi się w przeglądarce.

Chciałbym przekierować z Apache na mój Tomcat, więc za każdym razem, gdy ktoś pisze mydomain.com w swojej przeglądarce, pojawia się moja aplikacja.

Aby to zrobić, zainstalowałem i skonfigurowałem mod_proxy zgodnie z wieloma samouczkami, które przeczytałem (jak ten lub inny ). Moja konfiguracja w pliku .CONF domyślnej strony Apache to:

ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8080/myappname/
ProxyPassReverse / http://127.0.0.1:8080/myappname/

W tej konfiguracji za każdym razem, gdy piszę mydomain.com w przeglądarce, wyświetlana jest strona główna mojej aplikacji JSF , ALE W TEKSTACH BEZ OBRAZÓW / CSS I ŻADNYCH URLÓW LUB DYNAMICZNYCH CZĘŚCI DZIAŁAJĄCYCH.

Jeśli sprawdzę sekcję „wydajność” w narzędziach Mozilli, zobaczę wiele takich błędów:

http://www.mydomaincom/myappname/javax.faces.resource/theme.css.xhtml[HTTP/1.1 500 Internal server error]
http://www.mydomaincom/myappname/images/EN.png [HTTP/1.1 404 Not Found 249ms]

Z drugiej strony odkryłem, że dzięki tej konfiguracji:

ProxyPass /myappname 127.0.0.1:8080/myappname 
ProxyPassReverse /myappname 127.0.0.1:8080/myappname 

za każdym razem, gdy piszę w przeglądarce mydomain.com/myappname strona wyświetla się dobrze i nie są zgłaszane żadne błędy. Oczywiście nie chcę używać takiej konfiguracji, chciałbym napisać TYLKO mydomain.com

Próbowałem WIELE innych konfiguracji mod_proxy z innymi parametrami (ProxyRequests, DefaultType, ProxyPassReverseCookiePath, ProxyPassReverseCookieDomain ...), ale żadna z nich nie wydaje się działać ...

Jaki jest problem?

Z góry dziękuję za cierpliwość i pomoc!

BTW: Wiem, że Tomcat nie powinien być publicznie ujawniony, zajmę się tym później ...

Jesus Schneider
źródło

Odpowiedzi:

0

Dodaj regułę RewriteRule

RewriteRule ^/$ /myappname

w połączeniu z ProxyPass /myappname.

Gerard H. Pille
źródło