Mod-Jk

將 mod_jk 映射到名稱與別名不同的應用程序

  • September 3, 2011

我們有一個名為 X 的網際網路應用程序,它正在被一個名為 Y 的新應用程序所取代。

我們使用以 Apache 為前端的 Tomcat 實例來服務 X 和 Y,並通過 mod_jk 進行通信。有一個 Tomcat 託管 X,另一個託管 Y。

X 和 Y 已安裝在我們的生產伺服器上 - X 正在被我們的客戶使用,而 Y 正在進行最終測試:

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 保持不變。我試圖找到一種方法來告訴 JKMount 在我們請求 URL X 時請求應用程序 Y。

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

  1. 將 URL 前綴指向/x新工作人員loadbalancer-y
JkMount /x loadbalancer-y
  1. 假設新應用的名稱是,請在您的元素中newname創建一個,如下所示:Context``<Host>
<Host name="your.domain.name"  appBase="webapps"
           unpackWARs="true" autoDeploy="true"
           xmlValidation="false" xmlNamespaceAware="false">
   <Context path="/x" docBase="newname"/>
</Host>

引用自:https://serverfault.com/questions/307580