Назад | Перейти на главную страницу

Виртуальные хосты Tomcat, доступные по двум URL-адресам

У меня есть несколько веб-приложений, развернутых на Tomcat, со следующей конфигурацией:

<Engine ...>
    <Host name="a.mycompany.com" ...>
    <Host name="b.mycompany.com" ...>
    <Host name="c.mycompany.com" ...>
</Engine>

Для каждого из этих приложений я могу получить к ним доступ по следующим двум URL-адресам:

http://x.mycompany.com/
http://x.mycompany.com/x

куда x является a, b или c.

Это нормально, или я что-то не так сделал?

Да, это конфигурация по умолчанию.

Вы развернули все 3 веб-приложения на одном экземпляре Tomcat, поэтому они будут доступны по умолчанию как

http://<some-domain-url>/x где x = a,b или c

Вы хотите ограничить шаблон

http://a.mycompany.com/a или http://b.mycompany.com/b и

запретить http://a.mycompany.com/b ?

Тогда попробуй вложение веб-приложения через <Context> элемент в server.xml внутри вашего

<Host name="a.mycompany.com" ...>

Вот так:

<Host name="a.mycompany.com" appBase="webapps"> 
    <Context path="/a" docBase="/a/"/> 
      </Host> 

      <Host name="b.mycompany.com" appBase="webapps"> 
    <Context path="/b" docBase="/b/"/> 
      </Host> 

Если path установлен на "" тогда вы можете получить приложение в ROOT контекст, например a.mycompany.com вместо того a.mycompany.com/a