我有一个页面,它根据 URL 发送类似语言的“Set-Cookie”标头。问题是这个页面会获得相当高的命中率,但现在还不能去掉“Set-Cookie”标题以便 Varnish 4 缓存它。
该文档仅显示如何unset beresp.http.set-cookie
或我可以将 cookie 添加到带有hash_data(req.http.cookie)
. 据我所知,将 cookie 添加到哈希仅适用于请求 Cookie,而不适用于后端设置的 cookie。
我很确定vmod_header可能是解决方案的一部分,但我将如何使用它来缓存我匹配的 cookieberesp.http.Set-Cookie == "language=en_us; path=/; domain=mydomain.tld"
并缓存此响应?
缓存键(也就是在 hash_data 中计算的哈希)是在接收请求时创建的。尚未收到来自服务器的响应。之后您无法更改它。
我可以看到的两个选项是:
我最终解决了这样的问题: