Псевдонимы для разных контекстов с Apache Tomcat 5.5 - PullRequest
1 голос
/ 19 января 2010

Я использую tomcat 5.5 и хочу сделать следующее:

Если развернуты два веб-приложения (пусть они будут foo и bar ) Я хочуиметь возможность доступа к ним как относительными путями, так и псевдонимами.

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

и соответственно

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

Если я использую разные Хосты в Engine и предоставляю псевдонимы - как диктует документация - тогда псевдонимы URL работают нормально, но не относительные.Для того, чтобы они оба работали правильно, мне нужен дополнительный хост "localhost" и снова объявляем те же контексты.Вот мой 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

Хотя он работает таким образом, кажется, что tomcat загружает каждый контекст дважды.Есть ли другой способ добиться этого?

1 Ответ

1 голос
/ 19 января 2010

Это действительно загружает приложения дважды, потому что вы настроили его таким образом.Вам понадобится экземпляр Apache httpd перед tomcat, чтобы сделать магию перезаписи URL.

...