2010-10-08 82 views
2

我有一個Tomcat 6 webserver運行我的應用程序,我看到一些非常奇怪的重定向行爲。奇怪的Tomcat末尾的斜槓重定向域處理

我希望在內部URL http://appteam.testdomain.co.uk/test上訪問我的應用程序,並且這將返回302重定向到http://appteam.testdomain.co.uk/test/,然後服務於應用程序的首頁index.html。

然而,對於http://appteam.testdomain.co.uk/test一個GET目前返回302 http://appteam.testdomain.co.ukteam.testdomain.co.uk/test/

我將如何調試這個奇怪的重定向,什麼Tomcat的配置也可能會被導致此行爲?

編輯

爲了清楚這裏的陌生感是,

http://appteam.testdomain.co.uk/test 

的請求被重定向到

http://appteam.testdomain.co.ukteam.testdomain.co.uk/test/ 

注意錯位域。

EDIT2

@Sean - 我沒有做的重定向自己。 Tomcat內部的東西似乎正在爲我處理這個問題。讓我知道各種Tomcat XML文件的哪些部分將有助於診斷,我將發佈它們。

+0

你究竟是如何執行重定向?你能在這裏粘貼你的配置/代碼的相關部分嗎? – Sean 2010-10-08 13:59:06

+0

嗨mchr。你可能在http://serverfault.com有更好的運氣。 – 2010-10-08 16:31:41

+0

對於測試應用程序,您是否擁有一個包含的tomcat_home/conf/server.xml或conf/context.xml?你可以張貼這一點,如果有的話?或者你有一個Apache Web服務器在Tomcat的前面配置了一些在httpd.conf或類似的.conf文件中配置的重定向規則? – JoseK 2010-10-11 05:42:21

回答

1

我已經找出了答案,這是非常具體的我的應用程序部署的方式。 Tomcat位於NGINX代理的後面,該代理將幾乎所有流量轉發給Tomcat。代理用於以不同的方式處理一些URL。事實證明,Tomcat正在返回正確的302

http://appteam.testdomain.co.uk/test/ 

但NGINX代理重整成

http://appteam.testdomain.co.ukteam.testdomain.co.uk/test/ 
0

此行爲似乎不是一個錯誤。如果請求指向一個沒有結尾斜槓的目錄,Jetty也會發送302重定向。

Apache URL Rewriting Guide包含有關拖尾問題的部分。

+0

感謝您的快速回答,但我真正的擔心是關於域被破壞 - 請參閱我上面的編輯。 – mchr 2010-10-08 14:35:06

+0

哦,對不起,我忽略了這部分的問題。那麼我的回答對你來說是無用的。 – vanje 2010-10-08 14:45:46