根据响应主体清漆避免缓存

根据响应主体清漆避免缓存

有人知道如果响应主体中有一些“关键字”,是否有可能在 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。

相关内容