我從2天開始搜索解決方案如何將多個上下文映射到單個部署的應用程序? 讓我們來看看更多的細節... 我們有一個應用程序(讓我們稱之爲全部)應該部署一次並引用多個上下文根,以便每個客戶可以使用不同的URL訪問這個應用程序。將多個上下文根映射到單個應用程序
ex: http://localhost:8080/Customer1 ===> webapp(All)
http://localhost:8080/Customer2 ===> webapp(All)
我試過使用Apache的ProxyPass and ProxyPassReverse
選項,如下所示。 但是,當服務器接收到來自客戶端的請求時,它可以看到在這種情況下在服務器上部署的應用程序的上下文路徑ALL(而不是CustomerX)。在服務器端,我需要知道哪些客戶(上下文根)要求,這樣我可以加載客戶指定的登錄頁面,數據等。
ProxyPass /Customer1 http://localhost:8083/ALL
ProxyPassReverse /Customer1 http://localhost:8083/ALL
ProxyPass /Customer2 http://localhost:8083/ALL
ProxyPassReverse /Customer2 http://localhost:8083/ALL
然後後來我才知道有關WebLogic的Sahred庫的概念,它的工作..! 在weblogic中,我們可以將應用程序部署爲共享庫,並將其與來自不同Web應用程序(虛擬)的不同上下文根引用。 所以在我的情況下,我需要創建虛擬Web應用程序(對於客戶1,客戶2 ...客戶n)並從這些應用程序中引用共享庫應用程序。 如果我們採用共享庫的方法,有什麼優點和缺點?內存消耗,會話管理如何? 有什麼建議?有沒有其他解決方案?
感謝您的回覆。實際上,我們需要此解決方案用於ASP模型部署,其中所有客戶(客戶)共享公共資源併爲其付費。我同意你那臺服務器每個應用都有自己的類加載器。但在這種情況下,當服務器收到請求時會發生什麼,它會直接將該請求傳遞給共享應用程序?或中間的應用程序(在這種情況下,虛擬),然後共享應用程序? – SMR