Mod-Jk
將 mod_jk 映射到名稱與別名不同的應用程序
我們有一個名為 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
元素存在的原因。
- 將 URL 前綴指向
/x
新工作人員loadbalancer-y
:JkMount /x loadbalancer-y
- 假設新應用的名稱是,請在您的元素中
newname
創建一個,如下所示:Context``<Host>
<Host name="your.domain.name" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="/x" docBase="newname"/> </Host>