我有名字test.war的應用程序。春季安全:使用相對路徑
由於安裝在我的服務器上的Apache我必須使用爲Tomcat應用的另一個端口號,部署後該應用程序可在domain.com:8080/test/。
我決定創建一個子域,以便從url中刪除醜陋的8080,所以我設置了服務器,如described here。所以現在test.domain.com會遭遇domain.com:8080/test/。
除了一個問題之外,一切看起來都很好 - 因爲我的應用程序不是ROOT.war,而我正在使用spring:url
函數應用程序中的每個url都被轉換爲/ test/bla-bla。所以我刪除了這個功能。但仍然存在彈簧安全問題,因爲它仍然會將應用程序名稱相對於應用程序名稱(即/ test/bla-bla)進行翻譯。
我怎樣才能解決這個問題?
謝謝
UPD:我不想把它部署爲根應用程序,因爲我有兩個或三個這樣的應用程序,我想爲他們創造的每一個
謝謝您的答覆。我知道我可以通過Tomcat代理請求,但如果我有幾個應用程序呢?其中一個我可以重定向(通過代理)到服務器的根目錄。另一個將在重定向期間仍然使用上下文路徑。因此,正如我理解ONY的解決方案是使用Tomcat – nKognito 2012-08-11 03:03:25
的兩個實例不,不應該有任何需要使用Tomcat的多個實例。重寫規則沒有與tomcat實例連接,應用程序應該不知道它們在代理之後運行。重寫規則是apache代理配置的一部分。 – 2012-08-11 19:02:24
你能指定一下你的意思嗎?我使用了代理,解決了子域重定向問題。但是,我的應用程序仍然會將應用程序名稱添加到我用spring描述的任何url:url標記 – nKognito 2012-12-01 17:24:23