我有一个Windows环境,该环境在三台不同的Tomcat 7.0.39应用程序服务器上运行Java应用程序,每台服务器具有不同名称的上下文根,并使用mod_jk在单个Apache HTTP 2.2.22之后。有三个具有不同域名的站点,但是用户必须使用URL /上下文(domainname1.com/context1、domainname2.com/context2、domainname3.com/context3)访问这些站点。虚拟主机在httpd-ssl.conf中配置。当前httpd.conf指定:
JkMount /context1/* worker1
JkMount /context2/* worker2
JkMount /context3/* worker3
JkMountCopy All
是否存在允许用户在未指定上下文的情况下转到URL的配置?我尝试将Tomcat webapp设置为ROOT,但无法为所有三个站点提供服务。使用mod_rewrite或mod_proxy也没有成功。我确实看到其他人也提出了类似的问题,但没有找到针对我的环境的答案。这可能吗?任何帮助将不胜感激。
最佳答案
在每个Tomcat实例中将您的Web应用程序命名为context1
,context2
和context3
,并将您的httpd.conf
映射更改为以下内容:
JkMount /context1|/* worker1
JkMount /context2|/* worker2
JkMount /context3|/* worker3
如果希望用户能够转到
/
而不是/context1
,则必须在Apache httpd上使用不同的VirtualHost
并将每个Web应用程序配置为每个Tomcat实例上的ROOT
Web应用程序。