我需要一些帮助。我怎么能在新版本中这样做?因为vcl_fetch是旧的,现在它没有在Varnish 4中加入。
sub vcl_fetch{
if (beresp.http.set-cookie ~ "sessionid" || beresp.http.set-cookie ~ "csrftoken") {
return (pass);
} else {
return (deliver);
}
}
答案 0 :(得分:1)
Vcl_fetch已移至vcl_backend_response。
那说从vcl_backend_response返回传递并不是一个好主意。
您应该将return (pass)
重写为
set beresp.uncacheable = true;
set beresp.ttl = 120s;
return (deliver);
您的整个vcl_backend_response应如下所示
sub vcl_fetch{
if (beresp.http.set-cookie ~ "sessionid" || beresp.http.set-cookie ~ "csrftoken") {
set beresp.uncacheable = true;
set beresp.ttl = 120s;
return (deliver);
} else {
set beresp.ttl = 10s;
set beresp.grace = 1h;
}
}