Tomcat 8.5.9多个子域

时间:2017-01-22 17:55:13

标签: java tomcat subdomain

我正在尝试在Tomcat 8.5.9上设置多个子域,但我无法在server.xml中获得正确的语法以使其正常工作。我确信这是我在我的结尾所遗漏的东西,但是我发现没有任何一篇文章在没有使用Apache的情况下给出完整的解释。我这里没有使用Apache或NGINX。我只想在同一个JVM上设置一个包含多个子域的DEV服务器。

test.foo.com

test1.foo.com

DNS设置正确,每个URL的nslookup提供相同的公共IP地址。

将应用程序部署到“webapps”的“test”和“test1”目录中。

设置test1.foo.com URL的方式有效,但是当我点击它时,test.foo.com网址会出现404错误。错误正在写入日志,因此它即将出现。

这些是来自server.xml的主机条目:

  <Host name="test.foo.com"  appBase="webapps"
        unpackWARs="true" autoDeploy="true">

    <Context docBase="test" path=""/>

    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="test_access_log" suffix=".txt"
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />

  </Host>

  <Host name="test1.foo.com"  appBase="webapps"
        unpackWARs="true" autoDeploy="true">

    <Context docBase="test1" path=""/>

    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="author_access_log" suffix=".txt"
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />

  </Host>

如果有人能看到任何错误,我会非常感激。

1 个答案:

答案 0 :(得分:0)

(在评论中解决)

appBase中为每个虚拟主机设置不同的目录。 general documentation不会限制,但特定documentation for virtual host表示您不能对两个虚拟主机使用相同的目录

  

请注意,appBase下每个主机的目录结构不应相互重叠。