奇怪的Tomcat尾随斜线重定向域处理

时间:2010-10-08 13:43:47

标签: java tomcat tomcat6

我有一个运行我的应用程序的Tomcat 6网络服务器,我看到一些非常奇怪的重定向行为。

我希望在内部网址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文件的哪些部分有助于诊断它,我将发布它们。

2 个答案:

答案 0 :(得分:1)

我已经找到了答案,它对我的​​应用程序的部署方式非常具体。 Tomcat位于NGINX代理后面,该代理几乎将所有流量转发给Tomcat。代理用于以不同方式处理某些URL。事实证明,Tomcat正在返回正确的302

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

但是NGINX代理正在将其分解为

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

答案 1 :(得分:0)

这种行为似乎不是一个错误。如果请求指向没有尾部斜杠的目录,Jetty也会发送302重定向。

Apache URL Rewriting Guide包含有关尾随斜线问题的部分。