¿Cómo redirecciono de Apache a Tomcat?
Pregunta
Estoy trabajando en mi primer sitio Java. Estoy ejecutando Apache Tomcat en el puerto 8080 y Apache HTTPD en el puerto 80. La URL actual a la que puedo acceder en el sitio es (por ejemplo) 123.4.5.6:8080. Quiero eliminar el número de puerto de la URL antes de señalar el dominio a la nueva IP.
Por el momento solo estoy usando Apache para phpmyadmin, sin embargo, planeo usarlo para scripts CGI y otras cosas una vez que descubra mod_jk
, etc. ... así que no quiero cambiar Puerto de Tomcat a 80 y apague Apache.
Espero que esto tenga sentido.
Solución
La forma correcta de hacer las cosas es dejar Apache en 80 y Tomcat en 8080 y usar un complemento (preferiblemente mod_proxy) para proxy Tomcat desde Apache. mod_proxy solo te tomaría 10 minutos para configurarlo.
Este instrucciones es muy sencillo de seguir.
Otros consejos
La forma habitual de hacerlo, como ya mencionó, es usar mod_jk
de Apache HTTPD para reenviar el contenido que desea que Tomcat procese.
Hay un Instrucciones rápidas en tomcat.apache.org. Debe hacer lo siguiente:
- Copie
mod_jk.so
en el directorio de módulos apropiado para Apache HTTPD. - Cree un archivo de configuración
workers.properties
- En el
httpd.conf
de Apache HTTPD, agregue una sección para configurarmod_jk
. - Asegúrese de que Tomcat esté configurado para aceptar el protocolo
mod_jk
, que generalmente se encuentra en el puerto 8009.
Las líneas en httpd.conf
con JkMount
:
JkMount /examples/* worker1
diga a Apache HTTPD qué solicitudes deben enviarse a Tomcat.
Ambas respuestas útiles anteriores son buenas, pero prefiero mod_proxy
sobre mod_jk
. No hay instalación adicional que hacer para mod_proxy, a diferencia de mod_jk
, y la configuración es mucho más fácil. mod_jk
le da más control sobre la sintonización detallada de los parámetros de Tomcat, pero si solo desea una redirección simple de Apache a Tomcat, mod_proxy
es el camino a seguir.
Si desea que Apache sirva contenido estático en lugar de Tomcat, debe usar mod_jk: http://tomcat.apache.org/tomcat-6.0-doc/proxy-howto.html
¿Y qué pasa con SSL, si queremos que Apache maneje HTTPS, porque es más rápido que Java / Tomcat?
debes configurar tu tomcat usando este enlace. para tomcat 7 http://tomcat.apache.org/tomcat-7.0-doc/proxy -howto.html