1

我已经设置清漆来剥离所有饼干:

sub vcl_fetch {
    unset beresp.http.Set-Cookie;
    #etc
}

但是,我想设置一个名为first_visit我不希望 Varnish 剥离的 cookie。

我该怎么做呢?

4

2 回答 2

2

您可以查看Header vmod,它允许使用 Set-Cookie 进行操作

于 2013-06-24T14:10:40.093 回答
1

您还可以在纯 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;
  }
  # ...
}
于 2013-06-25T11:06:07.717 回答