有人知道如果响应主体中有一些“关键字”,是否有可能在 vanish 上避免缓存吗?我需要这样的东西:
sub vcl_backend_response {
if (beresp.body ~ "the string to search for") {
return (pass);
}
}
有人有想法吗?
答案1
不幸的是,似乎没有任何版本的 Varnish 支持beresp.body
从内部访问vcl_backend_response
。如果支持,那么类似下面的代码就足够了:
sub vcl_backend_response {
if (beresp.body ~ "the string to search for") {
set beresp.ttl = 120s;
set beresp.uncacheable = true;
}
}
目前这是不可能的,除非你编写 VMOD。