我在 Tomcat 上部署了一些 Web 应用程序,使用以下配置:
<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
。
这是正常的吗,还是我做错了什么?
答案1
是的,这是默认配置。
您已在单个 Tomcat 实例上部署了所有 3 个 Web 应用程序 - 因此它们将默认以以下方式访问:
http://<some-domain-url>/x
其中x = a,b
或c
您是否希望将模式限制为
http://a.mycompany.com/a
或http://b.mycompany.com/b
和
不允许 http://a.mycompany.com/b
?
然后尝试嵌套 Web 应用程序通过<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