【发布时间】:2016-06-06 15:46:43
【问题描述】:
问题: 通过 chrome 开发者工具看到的作为流的一部分的浏览器请求:
- /request_one GET 请求,请求带有 some_cookie="abc" 和 响应 some_cookie="def"
- /request_one POST 请求 使用 some_cookie="def" 请求并使用 some_cookie="ghi" 响应 和一个 303 重定向到 /request_xxx
- /request_xxx GET 请求 请求 some_cookie="def"
我试图找出为什么第三个请求使用 cookie“def”而不是更新值“ghi”
这里的关键是,当我通过弹性负载均衡器和 nginx 路由器时会发生这种情况。 使用内部 URL 的相同流程,中间没有 nginx 路由器,工作正常
看起来,在响应设置 cookie 之前,会创建重定向请求。这是我的应用程序中的正常情况,我更新 cookie 并执行 redirect-303。
根据我的发现,cookie 大小的增加反过来会增加响应,影响请求和响应大小限制的 nginx 配置是什么。我在 nginx 错误日志中没有看到任何错误
有没有办法在 chrome 中从第 2 步响应到第 3 次重定向请求进行调试?
通过 curl 执行请求时更新与日志相同的问题 这是我通过 curl 运行时看到的
忽略响应体
连接 #0 到主机 application_url 保持不变
向此 URL 发出另一个请求:'https://application_url/contextpath/request_xxx'
禁用 POST,与 GET 一起使用
找到主机 application_url 的捆绑包:xxxxxxxxxxxx
重用现有连接! (#0) 与主机 application_url
连接到 application_url (IP_HERE) 端口 443 (#0)
【问题讨论】:
-
Chrome中的重定向调试,在开发者工具的Network面板中勾选
Preserve log。 -
谢谢亚历山大。我已经检查了保留日志。这就是我发现第三个请求没有更新的 cookie 值的方式。所以在这里我想要一种在第二步停止并从中获取 curl 请求的方法。所以我可以使用带有 --verbose 的 curl 调用第三个请求。
-
我可以在 chrome 中禁用 303 重定向吗?
-
由于 Chrome 是兼容 w3c 的浏览器,我认为您不能。但如果您愿意,您可以使用 curl 手动运行所有步骤。
-
这个问题stackoverflow.com/questions/32219664/…对你有帮助吗?
标签: curl cookies nginx google-chrome-devtools http-redirect