gpt4 book ai didi

使用cookie缓存而不使用cookie

转载 作者:行者123 更新时间:2023-12-03 17:46:27 25 4
gpt4 key购买 nike

根据欧洲关于Cookie的规定,我们需要显示一条消息,以使用户知道我们在使用Cookie。

当他们接受时,我们设置一个cookie!除了非常依赖跟踪cookie外,我们还需要此cookie :(

我设置了Varnish来缓存 Assets 和目标网页,这自然会对速度产生巨大影响。 Assets 正在实现梦想,主页永远不会从服务器接收Set-Cookie,因为这是开箱即用地配置Varnish的方式。

我们的 Varnish 服务器是Centos 7,它已经安装了Varnish4。我们的目标是最终迁移到FaSTLy,他们有一个指南来做我想做的事情,这使我们可以使用Cookies并避免对其进行缓存。

https://www.fastly.com/blog/how-to-cache-with-tracking-cookies

但是,req变量不再在Varnish 4的vcl_deliver中成为作用域。

有人能找到解决这个问题的方法吗?

最佳答案

您应该能够将“Tmp-Cookie”存储在 beresp 而不是 bereq 中,在这种情况下,它将传播到 vcl_deliver 中的 resp。然后您可以将其复制到 Set-Cookie。

因此,FaSTLy 建议的修改版本:

sub vcl_backend_response {
if (beresp.http.Set-Cookie) {
# ... so store it temporarily
set bereq.http.Tmp-Set-Cookie = beresp.http.Set-Cookie;
# ... and then unset it
unset beresp.http.Set-Cookie;
}
}

sub vcl_deliver {
if (resp.http.Tmp-Set-Cookie) {
set resp.http.Set-Cookie = resp.http.Tmp-Set-Cookie;
unset resp.http.Tmp-Set-Cookie;
}
}

这应该与响应处理等效,但您仍然希望最有可能处理传入的请求 cookie(如果相关)。

关于使用cookie缓存而不使用cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36352087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com