Tengo Apache y Wildfly instalados en un sistema Ubuntu 14.04. Ahora me gustaría hacer que Wildfly (localmente http://localhost:8080
) sea accesible desde Apache ( http://webserver/wildfly
). ¿Cómo tendría que hacer eso?
Hasta ahora, he habilitado las dos modificaciones: proxy
y proxy_http
. Y he añadido al final del documento /etc/apache2/apache2.conf
:
ProxyRequests off
ProxyPass /wildfly/ http://localhost:8080/
ProxyPassReverse /wildfly/ http://localhost:8080/
EDITAR:
Ahora la mitad funciona, pero los caminos no se transforman correctamente. La ruta a una de mis aplicaciones que se ejecuta en Wildfly es:
http://webserver/wildfly/testproj/Index.xhtml
Pero todos los enlaces en su página se procesan así:
http://webserver/testproj/Page1.xhtml
http://webserver/testproj/Page2.xhtml
http://webserver/testproj/Page3.xhtml
En vez de esto:
http://webserver/wildfly/testproj/Page1.xhtml
http://webserver/wildfly/testproj/Page2.xhtml
http://webserver/wildfly/testproj/Page3.xhtml
Si ejecuto Wildfly localmente, todo funciona bien. Esto me permite creer que debe haber un error en la configuración del Apache Reverse Proxy. ¿Está bien? ¿Qué debo hacer para que Apache analice las direcciones/enlaces correctos?
Respuesta1
Espero que hayas resuelto tu problema, pero en caso de que haya alguien más que necesite una respuesta para esta pregunta, aquí está la solución.
Para aplicaciones web que se implementan fuera de un archivo EAR (implementación WAR)
En la carpeta web-inf
MiAplicación/src/main/webapp/WEB-INF/
agregue un archivo jboss-web.xml con este contenido donde / es la implementación raíz. Si desea implementarlo como raíz para su caso, simplemente cambie "/" por "testproj".
<jboss-web>
<context-root>/</context-root>
</jboss-web>
archivo oreja
En la documentación oficial (verifique la referencia) puede encontrar que dentro del archivo EAR, la raíz de contexto está definida en el archivo application.xml. En el siguiente ejemplo, la raíz de contexto de web-client.war es banco, por lo que la aplicación está configurada en /bank, lo que significa que la 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>
referencia : Jboss Doc - Capítulo 6. Configuración de la raíz de contexto de una aplicación web