我想设置 Varnish 来清除缓存中的内容并在按下 CTRL+R 或 CTLR+F5 时直接从后端获取它。
我使用这些规则,但只有按下 CTRL+F5 时才会从后端获取内容。当我按下 F5 时,我才会从缓存中获取数据。
acl CTRLF5 {
"127.0.0.1";
}
sub vcl_hit {
if (client.ip ~ CTRLF5) {
if (req.http.pragma ~ "no-cache" || req.http.Cache-Control ~ "no-cache")
{
set obj.ttl = 0s;
return(pass);
}
else { return(deliver); }
}
else { return(deliver); }
}
答案1
可以通过下列语句实现:
清漆 2.1.x
if (req.http.Cache-Control ~ "no-cache"){
purge_url(req.url);
}
清漆 3.x
if (req.http.Cache-Control ~ "no-cache"){
ban(req.url);
}