可通过两个 URL 访问 Tomcat 虚拟主机

可通过两个 URL 访问 Tomcat 虚拟主机

我在 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

其中xabc

这是正常的吗,还是我做错了什么?

答案1

是的,这是默认配置。

您已在单个 Tomcat 实例上部署了所有 3 个 Web 应用程序 - 因此它们将默认以以下方式访问:

http://<some-domain-url>/x其中x = a,bc

您是否希望将模式限制为

http://a.mycompany.com/ahttp://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设置为,""那么你可以在上下文中获取应用程序ROOTa.mycompany.com例如a.mycompany.com/a

相关内容