我有一个以 Varnish 服务器为前端的应用程序。部分页面使用 ESI 包含呈现。
我的问题是上游响应包含一个加密的会话 cookie,其中包含一个 CSRF 令牌(根本没有服务器端会话存储)。
对于初始请求(请求中没有 cookie),ESI 请求将不包含由上游服务器的第一个响应设置的 cookie。
我已经尝试req.http.Cookie
在vcl_deliver
钩子中设置,因为它是请求流中我发现两者都可以读写的唯一req
位置res
。但是,使用 varnishlog 查看请求会发现 ESI 请求不受影响并且不包含 cookie。
我已尽我所能浏览文档,但找不到任何远程有用的东西。
是否有可能实现我想要的,即更新req
以使 ESI 请求包含初始上游响应返回的 cookie?