2008-10-23 7 views
0

J'ai une instance de tomcat avec plusieurs applications en cours d'exécution ... Je veux la racine de mon nouveau domaine pour aller à l'une de ces applications (chemin de contexte de bla) .. donc j'ai la configuration suivante:Comment connecter mon application Tomcat à Apache 2 afin que les chemins ne soient pas boiteux?

<Location /> 
    ProxyPass ajp://localhost:8025/blah 
    ProxyPassReverse ajp://localhost:8025/blah 
</Location> 

cela fonctionne un peu ... va mydomain.com/index.jsp fonctionne, sauf l'application pense encore besoin d'ajouter le/bla/à tout comme css et js .. est-il quelque chose que je peux faire sans Déploiement de l'application sur ROOT ou modification de la configuration du serveur Tomcat? Je voudrais garder tout ce genre de choses du côté apache, si c'est possible.

Je pense que je ne sois pas la compréhension de la directive ProxyPassReverse ..

Répondre

2

Si vous souhaitez utiliser l'application sur le serveur, Tomcat s'attend à ce que l'application soit montée sur/et porte le nom ROOT. Au moins c'est comme ça que j'ai toujours géré la situation personnellement. Même si vous ne faites que symboliser l'application dans ROOT, cela devrait atténuer vos problèmes. Si vous avez une application placée dans $ {tomcat_home}/webapps/newapp, Tomcat la déploie avec un contexte de/newapp. Au moins, cela a été le cas dans mon histoire. De plus, pas sûr que ça compte, mais je l'ai toujours utilisé:

ProxyPass/ajp://localhost:8025/blah 
ProxyPassReverse/ajp://localhost:8025/blah 
0

il semble que ce genre est d'un pain in the rear.

apache est littéralement en train de réécrire les pages comme il les sert ...

Je pense que je vais aller un itinéraire différent.

+0

Il semble que l'approche "douleur dans l'arrière" ne soit requise que si le chemin de contexte de votre application tomcat ne correspond pas au chemin où Apache httpd le mappe, semble que les approches ROOT.war/ si mauvais en comparaison. –

0

Si vous configurez des hôtes sur le côté Tomcat et vous pouvez proxy pour eux et éliminer le chemin de contexte pour webapps non root - en Tomcat server.xml:

<Host name="myhost"> 
    <Context path="" docBase="/path/to/files" /> 
</Host> 

Et du côté Apache:

<VirtualHost *:80> 
    ServerName myhost 
    ProxyPass/ajp://myhost:8009/ 
    ProxyPassReverse/ajp://myhost:8009/ 
</VirtualHost> 

espoir qui aide.

Questions connexes