将 URL 重定向到 Tomcat Web 应用

将 URL 重定向到 Tomcat Web 应用

我有一台 Tomcat 服务器,上面有两个 webapp,app1 和 app2(app部分内容实际上相同)。每个 app 都有独立的用户组。

我希望各组能够使用group1.domain.com/appgroup2.domain.com/appURL 访问各自的应用程序,这意味着浏览器中显示的 URL 中应该隐藏数字。我想需要有一种机制,可以根据group#URL 的部分返回正确的应用程序。

我对 URL 重写了解不多。有没有办法只使用 Tomcat 来实现这一点?还是我需要 Apache HTTP 服务器?如果可能的话,我宁愿不使用 Apache,但如果有必要,我也可以这样做。

答案1

这实际上并不是关于重写 URL,而是关于虚拟托管。

您可以在 tomcat 中使用Hostserver.xml 中的元素执行此操作。对于您的情况,您需要一个Host group1.domain.com(appbase读取 tomcat 查找 war 的文件夹) 将包含 app1 和一个Host group2.domain.comappbase 将指向包含 app2 的文件夹的位置。

对于那些使用 IP 地址的用户代理,您可能需要一个默认主机。

因此 server.xml 中有类似这样的内容:

 <Host name="group1.domain.com" appBase="/war/group1"/>
 <Host name="group2.domain.com" appBase="/war/group2"/>

然后将 app.war 放在 /war/group1 中(对于第一个应用程序)并将 app.war 放在 /war/group2 中(对于第二个应用程序)

Tomcat 文档详细信息

相关内容