一尘不染

两个域及其子域映射到相同的IP,所以如何将不同的应用程序托管到相同的tomcat服务器?

tomcat

我有两个不同的域和子域。

例如 :-

Domain 1 :- example1.com IP :- XXX.XX.XX.201 Domain 2 :- example2.com IP :- XXX.XX.XX.202 (This is a virtual hosting on above IP addr XXX.XX.XX.201)

我也使用相同的子域,

Domain 1 :- test.example1.com IP :- XXX.XX.XX.201 Domain 2 :- test.example2.com IP :- XXX.XX.XX.202 (This is a virtual hosting on above IP addr XXX.XX.XX.201)

我必须以这种方式访问​​应用程序:如果我访问example.com,它将重定向到我app1,而test.example.com将mi重定向到app2。

我已经在tomcat的server.xml中完成了与此相关的一些配置。

<Host name="localhost" appBase="webapps"></Host>

<Host name="example2.com" appBase="webapps_example2"> <Alias>test.example2.com</Alias> </Host>

如果我按如下网址,

1. http://example2.com- >我想显示一个应用程序app1

2. http://test.example2.com- >我想显示一个应用程序app2

我已经在webapps_example2中部署了app1,当我点击上述任何一个URL时,两个URL都重定向到了同一个URL
app1。我app2应该将其部署到哪里,以便可以通过上面的URL 2访问。

注意 :-test.example.com is a just sample url & sub-domains may be change anytime so i can't put separate virtual host for entry & webapps folder for each sub domain. app1 is simple html website & app2 is an J2EE application

谁能帮助我做到这一点?

提前致谢…


阅读 246

收藏
2020-06-16

共1个答案

一尘不染

<Connector port="80" ... />
<Engine name="Catalina" defaultHost="localhost">
  <Host name="example.com" appBase="webapps-example"></Host>

  <Host name="test.example.com" appBase="webapps-test.example"></Host>
</Engine>

现在,移动app1webapps-example/ROOT(案例事项)(你应该有web应用,例如/ ROOT / WEB-INF /
web.xml中for example) and moveAPP 2 to的webapps-test.example / ROOT`。

那应该为example.com。您可以对example2.com等进行相同操作。

如果希望主机名映射到单个Web应用程序,则 必须 命名该Web应用程序ROOT并将其放入其自己的“
webapps”(appBase)目录中。您将必须<Host>为每个要支持的虚拟主机复制配置。

如果您对要求的要求比较宽松,则可以以更灵活的方式进行操作,而不必定义所有这些<Host>元素。

2020-06-16