Divulgación completa: Dado que esto parece ser más un problema de configuración, lo eliminé de Stack (donde no estaba recibiendo ninguna respuesta) y lo volví a publicar aquí.
El problema es cómo cambiar el requestContextPath servido por Glassfish detrás de mod_proxy_ajp. El sitio/aplicación funciona bien si se conecta directamente al puerto 8080 de Glassfish, lo cual en última instancia no es lo que quiero hacer.
Entonces necesito ayuda con la configuración para mis servidores e implementación de jsf. Puedo ver el problema pero no sé cómo resolverlo. Tiene que ver con el requestContextPath.
-
En pocas palabras, Apache redirige a
http://misitio.com/welcome.xhtml
lo cual es correcto y lo que quiero, pero la página carece de las imágenes y estilos. -
El problema es que Glassfish mismo sigue apuntando a
http://misitio.com/myapp/*
. Por lo tanto, todos los enlaces que sirve en la app/sitio siguen refiriéndose a través del requestContextPath. Es decir la parte/myapp/*
dehttp://misitio.com/myapp/welcome.xhtml
. -
Cuando miro en el código fuente de la página, las imágenes a las que se hace referencia con enlaces relativos siguen apuntando al requestContextPath (es decir, /myapp/). Esto se puede arreglar pero es realmente molesto.
Sin embargo, con los enlaces de la página no puedo establecer la ruta relativa.
-
Si paso el cursor sobre el enlace de la página de contacto veo
http://misitio.com/myapp/contact.xhtml
, y si hago clic en él, obtengo un error 404. También puedes ver el context path/myapp/
en el código fuente de la página. -
Si escribo la URL
http://misitio.com/contact.xhtml
obtengo la página sin sus enlaces referidos (requestContextPath).
En Apache
ProxyPass / ajp://pequeñorservidorwalters:8009/myapp-web/
ProxyPassReverse / ajp://pequeñorservidorwalters:8009/myapp_Project-web
En Glassfish
asadmin create-network-listener --listenerport 8009 --protocol http-listener-1 --jkenabled true jk-connector
He intentado ingresar a Glassfish y establecer la aplicación web como la aplicación web predeterminada. He cambiado el /
en glassfish-web.xml (y verifiqué que fuera el mismo en el archivo EAR).
¿Cómo puedo hacer que Glassfish no incluya el context /myapp/
en las URL? Esto debería ser fácil si sabes cómo, pero no sé cómo, ¿alguien puede ayudar aquí? Gracias.