
Tenho o Apache e o Wildfly instalados em um sistema Ubuntu 14.04. Agora eu gostaria de tornar o Wildfly (localmente http://localhost:8080
) acessível a partir do Apache ( http://webserver/wildfly
). Como eu teria que fazer isso?
Até agora, habilitei os dois mods: proxy
e proxy_http
. E adicionei no final do documento /etc/apache2/apache2.conf
:
ProxyRequests off
ProxyPass /wildfly/ http://localhost:8080/
ProxyPassReverse /wildfly/ http://localhost:8080/
EDITAR:
Agora metade funciona, mas os caminhos não se transformam direito. O caminho para um dos meus aplicativos em execução no Wildfly é:
http://webserver/wildfly/testproj/Index.xhtml
Mas todos os links da sua página são processados assim:
http://webserver/testproj/Page1.xhtml
http://webserver/testproj/Page2.xhtml
http://webserver/testproj/Page3.xhtml
em vez disso:
http://webserver/wildfly/testproj/Page1.xhtml
http://webserver/wildfly/testproj/Page2.xhtml
http://webserver/wildfly/testproj/Page3.xhtml
Se eu executar o Wildfly localmente, tudo funcionará bem. Isso me permite acreditar que deve haver um erro na configuração do Apache Reverse Proxy. Isso está certo? O que devo fazer para que o Apache analise os endereços/links corretos?
Responder1
Espero que você tenha resolvido seu problema, mas caso haja mais alguém que precise de uma resposta para esta pergunta aqui está a solução,
Para aplicativos da web implementados fora de um arquivo EAR (implantação WAR)
Na pasta web-inf
MeuApp/src/main/webapp/WEB-INF/
adicione um arquivo jboss-web.xml com este conteúdo onde / é a implantação raiz, se você quiser implantá-lo como raiz para o seu caso, basta alterar "/" com "testproj".
<jboss-web>
<context-root>/</context-root>
</jboss-web>
Arquivo EAR
Na documentação oficial (verifique a referência) você pode descobrir que dentro do arquivo EAR, a raiz de contexto é definida no arquivo application.xml. no exemplo a seguir, a raiz de contexto de web-client.war é banco, então o aplicativo está definido como /bank, o que significa que a URL será 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>
referência: Jboss Doc - Capítulo 6. Configurando a raiz de contexto de uma aplicação web