1

我们在 Tomcat 上运行Grails应用程序。所有对80端口的请求都被Nginx重定向到8080。为了我们应用程序的安全性,我们使用Spring Security

所以问题是:当用户成功登录应用程序时,它必须重定向到另一个页面,但它没有发生。

在 Chrome 浏览器中没有任何反应,在 Firefox 页面中显示“损坏的内容错误”。

当我们直接访问端口 8080 上的应用程序时没有问题。当我手动删除带有 jsessionid 的 cookie 时问题也消失了,但是在第一次重定向后它再次出现并且问题在同一个地方。

nginx的配置:

 server {
    limit_conn addr 10;
    listen externalIp:80;
    server_name serverName;
    root /var/ut/;

    location / {
            proxy_pass http://127.0.0.1:8080/;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass_header Set-Cookie;
            proxy_pass_header P3P;
    }

}
4

1 回答 1

0

我修复了它,但不是通过 nginx 配置。

我已将此代码添加到身份验证控制器的登录操作中:

    HttpSession session = request.getSession(false);
    if (session!=null && !session.isNew()) {
        session.invalidate();
    }

当我的请求通过 nginx 时,我真的不知道为什么会存在这个问题。但这是今天的修补程序。

于 2013-08-07T05:15:31.443 回答