nginx http_push_preload 和转发标头/cookie

nginx http_push_preload 和转发标头/cookie

我正在尝试使用 nginxshttp2_push_preload on;指令推送重定向。

在我的应用程序中,我检测重定向并添加与标Link: <location>; as=document; rel=preload头匹配的标头Location

这对于某些重定向很有效,但对于结果页面依赖于 cookie 的值(例如包含会话标识符的 cookie)的重定向则失败。

在调试时,我注意到“预加载”请求缺少原始请求中可用的 cookie。

事实上,“预加载”请求(Accept-*User-Agent)中只发送了原始标头的子集,而像Cookie和这样的标头则Referer缺失。

如何让 nginx 将原始请求的所有标头转发到预加载请求?或者这不可能吗?

答案1

事实证明,这目前是不可能的,而且很可能永远不会实现。

我在 nginx 的问题跟踪器中发现了类似的关于转发Authorization标头的请求https://trac.nginx.org/nginx/ticket/1817,并以一项决议结束WONTFIX

另一张票提到Vary标题被关闭,因为DUPLICATE https://trac.nginx.org/nginx/ticket/1851

我创建了另一张票据,请求添加标题Cookie,只是为了确保https://trac.nginx.org/nginx/ticket/1935

相关内容