将mod_jk映射到别名不同的应用程序

我们有一个名为X的互联网应用程序,正在被一个名为Y的新应用程序所取代。

我们使用Apache前端的Tomcat实例来服务X和Y,通过mod_jk进行通信。 有一个Tomcat托pipeX和另一个托pipeY.

X和Y已经安装在我们的生产服务器上 – X正在被我们的客户使用,而Y正在进行最后的testing:

JkMount /x loadbalancer-x JkMount /x/* loadbalancer-x JkMount /y loadbalancer-y JkMount /y/* loadbalancer-y 

让我们忽略这个安全到隐藏的方面!

当Y投入生产的时候,是否有办法将旧的URL映射到新的应用程序,这样www.mysite.com/x会指向新的应用程序,而不是旧的应用程序。

如果在loadbalancer-y上有一个名为x的应用程序,它将会工作。 这就是问题 – 新的应用程序是一个不同的名称,但老板希望URL保持不变。 我试图find一种方法来告诉JKMount当请求的URL X请求应用程序Y.

这就是Context元素存在的原因。

  1. 指向新工作者loadbalancer-y /x URL前缀:

     JkMount /x loadbalancer-y 
  2. 假设新应用程序的名称是newname ,请在<Host>元素中创build一个Context ,如下所示:

     <Host name="your.domain.name" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="/x" docBase="newname"/> </Host> 

只需指向JkMount /x loadbalancer-y将不起作用?

为什么不在httpd中创build一个/ x目录项,而是在JkMount loadbalancer-y中创build一个/ x目录项,然后在实际的应用程序而不是tomcat根目录下指定loadbalancer-y。