2010-10-08 84 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