坚持使用apache,mod-ajp奇怪的重定向

时间:2010-10-05 13:15:20

标签: apache tomcat ajp

大家好我有一个mod ajp的重定向问题,它总是在所需页面之前添加应用程序名称,例如:

如果我请求页面:

http://myapp.com/mypage

它被转换为

http://myapp.com/myapp/mypage,我收到404错误

我不知道为什么会出现这种情况,这就是配置:

<Proxy *> AddDefaultCharset Off Order deny,allow Allow from all </Proxy> 
ProxyPass / ajp://127.0.0.1:8009/myapp/ 
ProxyPassReverse / 
ajp://127.0.0.1:8009/myapp/ 
ProxyPassReverseCookiePath /myapp/ 

当内部应用程序重定向发生时,这种奇怪的重定向发生意味着注册后用户使用response.sendRedirect重定向(应用程序端)到登录页面,任何想法?

2 个答案:

答案 0 :(得分:0)

您可以使用以下方法解决此类问题:

  • 安装LiveHTTPHeaders并启用它
  • 直接访问该应用程序
  • 通过反向代理访问应用程序
  • 比较之前案例的HTTP流量

您的应用程序很可能使用相对URL重定向用户。但是,您的ProxyPassReverse仅重写绝对版本。根据您的ProxyPass规则,相对版本会根据页面加载重定向,从而导致路径加倍。

答案 1 :(得分:0)

ProxyPassReverse指令可能是错误的。我想应该是

ProxyPassReverse / http://myapp.com

请参阅The Mystery of ProxyPassReverse