2009-03-19 6 views
3

J'ai actuellement un servlet tomcat 1 en cours d'exécution sous la ROOT:chemin URL de redirection de transmettre à servlet tomcat utilisant Apache/mod_proxy

api1.myhost.com:8080/

J'utilise mod_proxy et simplement transmettre toutes les demandes de api1.myhost.com à cette instance. Cela fonctionne à partir d'aujourd'hui.

Je suis maintenant installé un deuxième servlet 2 qui fonctionne sous la même instance de tomcat (même adresse IP):

www.myhost.com:8080/servlet2

Je veux toutes les demandes à un nouveau URL api2 pour aller à ce deuxième servlet tel que:

api2 .myhost.com

reçoit maintenant transmis à la deuxième instance de servlet.

J'ai créé un enregistrement A tel que api2.myhost.com pointe vers l'adresse IP de mon serveur. Comment pouvez-vous faire parvenir api2.myhost.com à www.myhost.com:8080/servlet2?

Répondre

3

Vous devez créer deux VirtualHost en pointant sur la première application Web, l'autre sur la seconde.

<VirtualHost *:80> 
    ServerName api1.myhost.com 
    ProxyPass/http://api1.myhost.com:8080/ 
    ProxyPassReverse/http://api1.myhost.com:8080/ 
</VirtualHost> 

<VirtualHost *:80> 
     ServerName api2.myhost.com 
     ProxyPass/http://www.myhost.com:8080/servlet2 
     ProxyPassReverse/http://www.myhost.com:8080/servlet2 
</VirtualHost> 

Notez que depuis le chemin sera différent sur tomcat que sur apache, vous devez utiliser des URL relatives dans votre application.

+0

impressionnant cela a fonctionné avec une correction mineure. Je devais aussi avoir la ligne suivante: NameVirtualHost *: 80 – Ish

+0

À quel fichier ajoutons-nous ces enregistrements VirtualHost? – frosty

+0

Tout fichier inclus dans le fichier apache conf principal. Il y a souvent un fichier séparé pour chaque hôte virtuel. –

Questions connexes