У меня установлены Apache и Wildfly на системе Ubuntu 14.04. Теперь я хотел бы сделать Wildfly (локально http://localhost:8080
) доступным из Apache ( http://webserver/wildfly
). Как мне это сделать?
Sofar, я включил два мода: proxy
и proxy_http
. И добавил в конце документа /etc/apache2/apache2.conf
:
ProxyRequests off
ProxyPass /wildfly/ http://localhost:8080/
ProxyPassReverse /wildfly/ http://localhost:8080/
РЕДАКТИРОВАТЬ:
Теперь половина из этого работает, но пути не трансформируются правильно. Путь к одному из моих приложений, работающих на Wildfly, такой:
http://webserver/wildfly/testproj/Index.xhtml
Но все ссылки на его странице обрабатываются следующим образом:
http://webserver/testproj/Page1.xhtml
http://webserver/testproj/Page2.xhtml
http://webserver/testproj/Page3.xhtml
а не так:
http://webserver/wildfly/testproj/Page1.xhtml
http://webserver/wildfly/testproj/Page2.xhtml
http://webserver/wildfly/testproj/Page3.xhtml
Если я запускаю Wildfly локально, все работает нормально. Это позволяет мне думать, что в конфигурации Apache Reverse Proxy должна быть ошибка. Так ли это? Что мне нужно сделать, чтобы Apache анализировал правильные адреса/ссылки?
решение1
Надеюсь, вы решили свою проблему, но если есть еще кто-то, кому нужен ответ на этот вопрос, вот решение:
Для веб-приложений, которые развертываются вне файла EAR (развертывание WAR)
В папке web-inf
Мое приложение/src/main/webapp/WEB-INF/
добавьте файл jboss-web.xml с этим содержимым, где / — это корневое развертывание. Если вы хотите развернуть его как корневое для вашего случая, просто замените «/» на «testproj».
<jboss-web>
<context-root>/</context-root>
</jboss-web>
EAR-файл
Из официальной документации (пожалуйста, проверьте ссылку) вы можете узнать, что внутри файла EAR корневой контекст определяется в файле application.xml. В следующем примере корневой контекст web-client.war — это bank, поэтому приложение установлено на /bank, что означает, что URL-адрес будет www.domaine.com/bank.
<module>
<ejb>bank-ejb.jar</ejb>
</module>
<module>
<web>
<web-uri>web-client.war</web-uri>
<context-root>bank</context-root>
</web>
</module>
ссылка : Jboss Doc - Глава 6. Установка корневого контекста веб-приложения