【问题标题】:Strange Tomcat trailing slash redirect domain handling奇怪的 Tomcat 斜杠重定向域处理
【发布时间】:2011-04-22 21:53:01
【问题描述】:

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

我希望通过内部 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 文件的哪些部分有助于诊断此问题,我将发布它们。

【问题讨论】:

  • 您究竟是如何执行重定向的?您能否在此处粘贴您的配置/代码的相关部分。
  • 您好,mchr。 serverfault.com 可能会让你的运气更好。
  • 你有一个tomcat_home/conf/server.xml 或conf/context.xml 和一个 用于测试应用程序吗?如果有的话,你能发一下吗?或者你有一个 Apache Web 服务器在这个 Tomcat 前面,并在 httpd.conf 或类似的 .conf 文件中配置了一些重定向规则?

标签: java tomcat tomcat6


【解决方案1】:

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

Apache URL Rewriting Guide 包含一个关于斜线问题的部分。

【讨论】:

  • 感谢您的快速回答,但我真正担心的是域被破坏 - 请参阅上面的编辑。
  • 哦,对不起,我忽略了你问题的这一部分。那我的回答对你没用。
【解决方案2】:

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

返回正确的 302
http://appteam.testdomain.co.uk/test/

但是 NGINX 代理正在处理这个

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

【讨论】:

    猜你喜欢
    • 2020-11-19
    • 1970-01-01
    • 2014-11-03
    • 2011-08-30
    • 2011-10-19
    • 1970-01-01
    • 1970-01-01
    • 2012-04-12
    • 2021-12-24
    相关资源
    最近更新 更多