Question

J'utilise tomcat 5.5 et je veux faire ce qui suit:

Si deux applications Web sont déployées (laissez-les être foo et bar ) Je veux être en mesure d'y accéder à la fois avec des chemins relatifs et par des alias.

localhost: 8080 / foo -> foo et foo.example.com -> foo

et respectivement

localhost: 8080 / bar -> bar et bar.example.com -> bar

Si j'utilise différents hôtes dans le moteur et gérer les alias -comme la documentation dictates- alors les urls aliasées fonctionnent très bien, mais pas ceux relatifs. Afin de les avoir à la fois fonctionner correctement je besoin d'un hôte supplémentaire « localhost » et déclare les mêmes contextes encore. Voici mon server.xml

<Engine name="Catalina" defaultHost="localhost">
    <Host name="foo.example.com">
        <Context docBase="webapps/foo" path="" workDir="work/Catalina/foo/_"/>
        <Alias>foo.example.com</Alias>
    </Host>
    <Host name="bar.example.com">
        <Context docBase="webapps/bar" path="" workDir="work/Catalina/bar/_"/>
        <Alias>bar.example.com</Alias>
    </Host>
    <Host name="localhost" appBase="webapps" autoDeploy="false" >
        <Context path="foo" workDir="work/Catalina/foo/_" />
        <Context path="bar" workDir="work/Catalina/bar/_" />
    </Host>
</Engine

Bien qu'il fonctionne de cette façon, il semble que tomcat se charge chaque contexte deux fois. Y at-il d'autre moyen d'y parvenir?

Était-ce utile?

La solution

Il charge en effet les applications deux fois parce que vous l'avez configuré de cette façon. Vous auriez besoin d'une instance apache httpd devant tomcat pour faire de la magie de réécriture d'URL.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top