Перенаправление с Apache на Tomcat с помощью mod_proxy

337
Jesus Schneider

У меня есть домен с правильно настроенными DNS, называемый mydomain.com, который указывает на мой сервер Ubuntu 16.04.3 в 11.11.11.11, поэтому, когда я представляю mydomain.com в браузере, я попадаю на страницу по умолчанию Apache, установленную на таком сервере. ,

У меня также есть Tomcat 7, установленный на том же сервере, на котором запущено приложение JSF APP, поэтому при вводе http://11.11.11.11:8080/myappname/ в моем браузере мое приложение появляется в браузере.

Я хотел бы перенаправить с Apache на мой Tomcat, поэтому каждый раз, когда кто-то пишет mydomain.com в своем браузере, появляется мое приложение.

Для этого я установил и настроил mod_proxy в соответствии со многими прочитанными мною учебниками (например, этим или другим ). Моя конфигурация в файле .CONF сайта Apache по умолчанию:

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

С этой конфигурацией, каждый раз, когда я пишу mydomain.com в браузере, отображается главная страница моего приложения JSF, НО В РАБОЧЕМ ТЕКСТЕ БЕЗ ФОТОГРАФИЙ / CSS И ЛЮБОГО URL ИЛИ РАБОТАЕТ ДИНАМИЧНАЯ ЧАСТЬ.

Если я проверю раздел «производительность» в инструментах Mozilla, я вижу много ошибок, подобных этим:

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] 

С другой стороны, я обнаружил, что с этим конфигом:

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

каждый раз, когда я пишу в своем браузере mydomain.com/myappname, страница отображается хорошо, и никаких ошибок не выдается. Очевидно, я не хочу использовать такую ​​конфигурацию, я хотел бы написать просто mydomain.com

Я пробовал МНОГИЕ другие конфигурации mod_proxy с другими параметрами (ProxyRequests, DefaultType, ProxyPassReverseCookiePath, ProxyPassReverseCookieDomain ...), но ни одна из них, кажется, не работает ...

В чем проблема?

Заранее спасибо за терпение и помощь!

Кстати: я знаю, что Tomcat не должен быть публично разоблачен, я позабочусь об этом позже ...

0

1 ответ на вопрос

0
Gerard H. Pille

Добавить RewriteRule

RewriteRule ^/$ /myappname 

в сочетании с ProxyPass /myappname.