我已经设置清漆来剥离所有饼干:
sub vcl_fetch {
unset beresp.http.Set-Cookie;
#etc
}
但是,我想设置一个名为first_visit
我不希望 Varnish 剥离的 cookie。
我该怎么做呢?
您可以查看Header vmod,它允许使用 Set-Cookie 进行操作
您还可以在纯 VCL 中去除 cookie:
sub vcl_fetch {
# ...
if ( beresp.http.Set-Cookie
&& beresp.http.Set-Cookie == "first_visit=Y; path=/; domain=mydomain.tld"
) {
set beresp.http.first-visit = beresp.http.Set-Cookie;
unset beresp.http.Set-Cookie;
}
# ...
}
sub vcl_deliver {
# ...
if (resp.http.first-visit) {
set resp.http.Set-Cookie = resp.http.first-visit;
unset resp.http.first-visit;
}
# ...
}