tomcat9 - 如何将不同的 Tomcat 9 应用程序映射到不同的 URL?
问题描述
我有一个 Tomcat 9 服务器,上面安装了两个应用程序:“App1”和“App2”。显然,可以使用以下两个 URL 访问这些应用程序:
http://my_xyz.com/App1
http://my_xyz.com/App2
我需要能够使用 URL 访问第一个应用程序:
http://other_xyz.com/
第二个应用程序使用:
http://yet_xyz.com/
要求不要在其前面使用 Web 服务器。只应配置 Tomcat 9 服务器。
请注意,“App1”和“App2”未出现在新 URL 中。Tomcat 虚拟主机是解决方案,但如何隐藏应用程序名称?
谢谢
解决方案
正如您在帖子中所说,您只需要:
- 创建两个虚拟主机:
<Host name="app1.example.com" docBase="webapps/app1.example.com">
...
</Host>
<Host name="app2.example.com" docBase="webapps/app2.example.com">
...
</Host>
- 一旦配置了虚拟主机,您就可以独立地将应用程序添加到每个虚拟主机。最重要的是,您可以拥有两个具有空上下文路径的应用程序(每个主机一个)。例如,您可以将第一个应用程序的 WAR 文件移动到
webapps/app1.example.com/ROOT.war
第二个应用程序webapps/app2.example.com/ROOT.war
(或使用任何其他方式来部署应用程序)。