2014-10-17 58 views
0

我有两个不同的域&子域。两个域及其子域被映射到相同的IP,所以我怎么能将我的不同应用程序托管到同一个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重定向到相同的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

谁能帮助我这样做的???

在此先感谢...

回答

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> 

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

这应该这样做对example.com,您可以为example2.com做同样的,等

如果你想有一个主机名映射为单一的网络应用程序,你必须命名网络应用程序ROOT,并把它放到它自己的“webapps”(appBase)目录中。您必须为您想要支持的每个虚拟主机复制<Host>配置。

如果您对自己的要求更加宽松,则可以以更灵活的方式做事,而无需定义所有这些<Host>元素。

+0

**谢谢克里斯托弗**,它的工作正常,您的解决方案完全满足了我对访问具有特定URL的应用程序的要求。 – 2014-10-27 09:37:47

相关问题