需要 Varnish 配置建议

需要 Varnish 配置建议

我需要一些有关 default.vcl 的建议。规则如下:

  1. 仅缓存 URL 包含“/c/”的页面,其余页面将通过
  2. 将缓存过期时间设置为 3 小时
  3. 仅当 cookie“abc”和 cookie“xyz”为空时才缓存并从缓存中提供服务

谢谢你!

答案1

sub vcl_recv {
    if (req.request ~ "^/c/") {
       if ( (req.http.cookie ~ "abc=;") && (req.http.cookie ~ "xyz=;") ){
        lookup;
       }
    }
    pass;
}
sub vcl_fetch {
    if (req.request ~ "^/c/") {
        set obj.ttl = 10800s;
    }
}

但是,空和未设置是两回事。设置一个测试,您可以在另一个会话中使用 varnishlog 来精确查看 varnish 正在做什么(它非常详细),然后调整规则以执行您需要的操作。

相关内容