У меня есть несколько веб-приложений, развернутых на 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