Chrome和Firefox未清除JSESSIONID Cookie会导致重定向循环

时间:2017-02-06 11:55:17

标签: google-chrome firefox redirect cookies jsessionid

我有一个应用程序在Apache Web Server上接收HTTP / HTTPs请求并将其传递给tomcat。

最近,在某些用户退出会话过期后,我一直面临Google Chrome 和Firefox 浏览器上的会话和重定向循环问题。我设法追查问题,发现浏览器没有清除JSESSIONID cookie。手动清除后,它再次开始工作。

我检查了Apache Web Server的日志文件,我发现了这个:

172.16.254.157 - - [06/Feb/2017:05:23:27 -0600] "GET /preview/login.admin HTTP/1.1" 302 20
172.16.254.157 - - [06/Feb/2017:05:23:29 -0600] "GET /preview/login.admin HTTP/1.1" 302 20
172.16.254.157 - - [06/Feb/2017:05:23:29 -0600] "GET /preview/login.admin HTTP/1.1" 302 20
172.16.254.157 - - [06/Feb/2017:05:23:29 -0600] "GET /preview/login.admin HTTP/1.1" 302 20
172.16.254.157 - - [06/Feb/2017:05:23:30 -0600] "GET /preview/login.admin HTTP/1.1" 302 20
172.16.254.157 - - [06/Feb/2017:05:23:30 -0600] "GET /preview/login.admin HTTP/1.1" 302 20
172.16.254.157 - - [06/Feb/2017:05:23:30 -0600] "GET /preview/login.admin HTTP/1.1" 302 20
172.16.254.157 - - [06/Feb/2017:05:23:31 -0600] "GET /preview/login.admin HTTP/1.1" 302 20
172.16.254.157 - - [06/Feb/2017:05:23:31 -0600] "GET /preview/login.admin HTTP/1.1" 302 20
172.16.254.157 - - [06/Feb/2017:05:23:31 -0600] "GET /preview/login.admin HTTP/1.1" 302 20
172.16.254.157 - - [06/Feb/2017:05:23:32 -0600] "GET /preview/login.admin HTTP/1.1" 302 20
172.16.254.157 - - [06/Feb/2017:05:23:32 -0600] "GET /preview/login.admin HTTP/1.1" 302 20
172.16.254.157 - - [06/Feb/2017:05:23:32 -0600] "GET /preview/login.admin HTTP/1.1" 302 20
172.16.254.157 - - [06/Feb/2017:05:23:33 -0600] "GET /preview/login.admin HTTP/1.1" 302 20
172.16.254.157 - - [06/Feb/2017:05:23:33 -0600] "GET /preview/login.admin HTTP/1.1" 302 20
172.16.254.157 - - [06/Feb/2017:05:23:33 -0600] "GET /preview/login.admin HTTP/1.1" 302 20
172.16.254.157 - - [06/Feb/2017:05:23:34 -0600] "GET /preview/login.admin HTTP/1.1" 302 20
172.16.254.157 - - [06/Feb/2017:05:23:34 -0600] "GET /preview/login.admin HTTP/1.1" 302 20
172.16.254.157 - - [06/Feb/2017:05:23:34 -0600] "GET /preview/login.admin HTTP/1.1" 302 20
172.16.254.157 - - [06/Feb/2017:05:23:35 -0600] "GET /preview/login.admin HTTP/1.1" 302 20
172.16.254.157 - - [06/Feb/2017:05:23:35 -0600] "GET /preview/login.admin HTTP/1.1" 302 20
122.176.45.206 - - [06/Feb/2017:05:24:33 -0600] "GET /preview/login.admin HTTP/1.1" 302 20

Apache Server正在获取这些请求,但没有任何内容被转发到Tomcat。

Chrome的检查元素窗口的网络标签向我显示: enter image description here

但是在清除JSESSIONID cookie之后,这可行。

这很奇怪,但这个问题大约在一周前开始(该应用程序自过去4年开始运作!),这与新的update rollout重合。

我曾尝试使用谷歌搜索,发现人们在2012年和2015年都有过类似的问题。

Chrome出了什么问题? 互联网标准有变化吗?尽管如此,我该如何解决这个问题?

编辑:

1。该问题仅适用于Google Chrome。

编辑#2:

  1. 问题也始于Mozilla Firefox。

1 个答案:

答案 0 :(得分:2)

如果仔细查看您的流量,它似乎在http和https之间交替显示。

两个猜测:

(a)有一项针对您的重定向规则,例如:有人认为将http自动重定向到https,但不使用HSTS是个好主意。

(b)该网站正在设置安全cookie,但之后会重定向到非安全端点,因此不会显示cookie;网站会将您重定向回登录页面(因为您看起来没有经过身份验证),然后会将cookie作为会话固定缓解的一部分丢弃。

或(c)上述两个问题正在相互作用以引起行为。