2011-12-09 18 views
7

tengo 2 aplicaciones alojadas en un único Apache Tomcat en el puerto 8080 >subdominio proxy de pasar todos apuntando a un solo servidor

  • http://mydomain.com:8080/application1
  • http://mydomain.com:8080/application2

Quisiera ejecutar un proxy apache delante de AMBOS con el siguiente comportamiento >

  • http://mydomain.com/* (apache2) -> http://mydomain.com:8080/application1/* (tomcat)
  • http://subdomain.mydomain.com/* (apache2) -> http://mydomain.com:8080/application2/* (tomcat)

Lo mejor que tengo en este momento es de 2 máquinas con diferentes direcciones IP y encaminar el dominio y subdominios de manera correspondiente.

Idealmente quiero que el proxy de Apache y las 2 aplicaciones para estar en la máquina MISMO ...

¿Puede cualquier persona con conocimientos DevOps ayudar a patear el culo?

Respuesta

18

Además de la respuesta de @Jon Lin, considere usar ProxyPassReverse también, en caso de que su aplicación realice redirecciones. Hace que Apache corrija las URL en las respuestas (Más sobre ProxyPassReverse). Se verá así:

<VirtualHost subdomain.mydomain.com:80> 
    ProxyPass/http://localhost:8080/application1/ 
    ProxyPassReverse/http://localhost:8080/application1/ 
</VirtualHost> 

<VirtualHost mydomain.com:80> 
    ProxyPass/http://localhost:8080/application1/ 
    ProxyPassReverse/http://localhost:8080/application1/ 
</VirtualHost> 

Espero que ayude.

+0

Gracias chicos ... eso fue útil – alwinc

+0

¿funciona si mantenemos *: 80 pero agregando un subdominio específico antes de la * regla? – user3779430

+0

Añadiendo el subdominio antes de que la regla lo rompa – puk

0

En la configuración de host virtual para mydomain.com (Apache), necesita

ProxyPassMatch ^/(.*)$ http://mydomain.com:8080/application1/$1 

En la configuración de host virtual para subdomain.mydomain.com (Apache), que Nede

ProxyPassMatch ^/(.*)$ http://mydomain.com:8080/application2/$1 

Ambos archivos de configuración deben estar en la misma máquina e incluso en el mismo archivo. Consulte VirtualHost Examples para ver ejemplos de cómo se configura esto.

Cuestiones relacionadas