两个领域&他们的子域映射到相同的IP,那么如何将我的不同应用程序托管到同一个tomcat服务器?

时间:2014-10-17 09:03:03

标签: apache .htaccess tomcat java-ee virtualhost

我有两个不同的域名&子域名。

例如: -

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>

如果我点击了URL,

1. http://example2.com - &gt;我想展示一个应用程序app1

2. http://test.example2.com - &gt;我想展示一个应用程序app2

我已经在webapps_example2&amp;中部署了app1当我点击上述任何一个网址时,网址都会重定向到同一个app1。我应该在哪里部署app2,以便可以通过上面的网址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

任何人都可以帮我这么做吗?

提前致谢...

1 个答案:

答案 0 :(得分:0)

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

现在,将app1移至webapps-example/ROOT(案例事项)(您应该有webapps-example / ROOT / WEB-INF / web.xml for example) and move app2 to web应用-test.example / ROOT`。

应该为example.com做到这一点。您可以对example2.com等执行相同的操作。

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

如果您对自己的要求更加放松,则可以更灵活地执行操作,而无需定义所有<Host>元素。