したがって、すべてのCookieを削除するようにVarnishを設定しました:
sub vcl_fetch {
unset beresp.http.Set-Cookie;
#etc
}
ただし、first_visit
Varnish に削除させたくないという Cookie を設定したいと考えています。
どうすればいいですか?
ヘッダー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;
}
# ...
}