Hacer proxy con Apache para aplicaciones Tomcat 7
La idea es simple, las aplicaciones Tomcat corren por lo general en el puerto 8080, y seria mas elegante si pudiéramos servir esta app desde apache por el puerto 80. Vamos a ello.
Crea un nuevo virtualhost:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
ServerName youtrack.ecapy.com ProxyPreserveHost On ProxyRequests Off Order deny,allow Allow from all ProxyPass /youtrack ajp://localhost:8080/youtrack ProxyPassReverse /youtrack ajp://localhost:8080/youtrack RewriteEngine On RewriteRule ^/$ "http://youtrack.ecapy.com/youtrack" [L] ErrorLog /var/log/apache2/yt-error.log CustomLog /var/log/apache2/yt-access.log common |
En este ejemplo, lo he configurado para que youtrack sea accedido mediante youtrack.ecapy.com.
Los últimos dos pasos son habilitar el modulo ajp que es el modulo que usa apache para hablar con tomcat:
1 |
sudo a2enmod proxy_ajp |
Y reiniciamos apache:
1 |
sudo service apache2 restart |
Chau!
Deberías avisar que, aunque el puerto donde Tomcat atiende las peticiones HTTP es el 8080, para configurar el acceso desde Apache con el módulo AJP se debe usar el puerto 8009. En tu ejemplo faltaría cambiar el puerto 8080 por el 8009 en ambos casos.