Actualmente, cuando instalamos un tomcat, queremos ponerle un apache como “proxy”, el apache recibe las peticiones en el puerto 80 y las redirige a tomcat.
Para ello, instalaremos un apache y un tomcat, y haremos sus configuraciones independientes para que funcionen * y como siempre utilizar las guías básicas de bastionado para que sean seguras.
Una vez hecho eso, habilitaremos los siguientes módulos en apache:
proxy_ajp.load
proxy.conf
proxy.load
Para ello, primero revisaremos que no están ya habilitados.
En la ruta /etc/apache2/ tenemos 2 directorios llamados:
mods-available
mods-enabled
En mods-enabled se encuentran los módulos ya habilitados, si no están los nuestros, iremos al directorio mods-available y los habilitaremos, el comando a utilizar es:
a2enmod [nombre_módulo]
Cada vez que lo habilitemos, nos pedirá reiniciar el apache para activarlos, por lo que cuando finalicemos con todos los módulos, reiniciaremos el apache.
Una vez reiniciado, verificamos en mods-enabled que están nuestros módulos.
Ahora pasaremos a la configuración de la “conexión” entre apache y tomcat, para ello, simplemente en el directorio /etc/apache2/sites-available crearemos el fichero del proyecto que necesitemos y le añadiremos la siguiente información:
ServerName moni.mandarina.com
ProxyPass / ajp://localhost:8009/
ProxyPassReverse / ajp://localhost:8009/
ErrorLog ${APACHE_LOG_DIR}/monimandarina_error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/monimandarina_access.log combined
Hemos creado un vhost con la url a la que debe responder el servicio, con las líneas ProxyPass y ProxyPassReverse, le estamos indicando que “dirija” la información a tomcat.
Haremos un link simbolico desde sites-enabled hacía el vhost que acabamos de crear.
Ahora recargaremos la información del apache
#/etc/init.d/apache2 reload
Si todo está OK y tenemos nuestras configuraciones bien hechas, deberían funcionar correctamente las aplicaciones de tomcat sobre el puerto 80 y a través de Apache.
PD: Estoy aprendiendo a usar Apache, es posible que me falte algo en la configuración, pero juraría que no.
2 comentarios:
Buen articulo!!!!
Yo como proxy no lo he utilizado nunca, pero si que he usado mod_jk para hacer lo mismo que tú junto con mod_security y es una pasada, pruebalo!!!!!
Gracias por la info!
Con mod_security me meteré en breve, así que algo escribiré!
También le echaré un vistazo a mod_jk, lo desconozco!
Aunque he de decir, que en estas configuraciones de Apache estoy un poco pez, así que poco a poco!!
Publicar un comentario