如果用户未经过身份验证,Apache 2.x和mod_proxy会生成重定向循环

时间:2013-11-11 12:15:06

标签: java apache tomcat spring-security mod-proxy

我有一个弹簧安全应用程序。我的情况是用户未经过身份验证,他被重定向到bo / login页面。

问题是我在tomcat前面设置apache web服务器的方式我产生了无限的重定向循环:

<VirtualHost *:80>
       ServerName dev.bo.MYDOMAIN.com
       ProxyPass / ajp://localhost:20009/bo/
       ProxyPassReverse / ajp://localhost:20009/bo/
       ProxyPassReverseCookiePath /bo/ /
</VirtualHost>

有人知道如果用户未经过身份验证,我该如何阻止循环?

3 个答案:

答案 0 :(得分:0)

<VirtualHost *:80>
  ServerAdmin webmaster@localhost
  ServerName dev.bo.MYDOMAIN.com
  <Proxy *>
    Order deny,allow
    Allow from all
  </Proxy>
  ProxyPass / ajp://localhost:20009/bo/
  ProxyPassReverse / ajp://localhost:20009/bo/
</VirtualHost>

尝试以上配置

答案 1 :(得分:-1)

最后我发现了问题。我不得不代理'bo'路径:

<VirtualHost *:80>
   ServerName dev.bo.MYDOMAIN.com
   ProxyPass / ajp://localhost:20009/bo/
   ProxyPassReverse / ajp://localhost:20009/bo/
   ProxyPass /bo ajp://localhost:20009/bo/
   ProxyPassReverse /bo ajp://localhost:20009/bo/
   ProxyPassReverseCookiePath /bo/ /
</VirtualHost>

答案 2 :(得分:-3)

为什么要使用mod_jk和mod_proxy?你应该能够做到

ProxyPass / http://localhost:20009/bo/
ProxyPassReverse / http://localhost:20009/bo/

至少可以节省协议开关。