Varnish 一直缓存子域名,我要求它不要缓存

Varnish 一直缓存子域名,我要求它不要缓存

我正在尝试配置 varnish 不缓存任何以“staging”开头的域名,使用经过方法如下:

if( req.url ~ "^(staging.)" )

我怀疑我错误地使用了 VCL 选择器,但在查看了 n

答案1

如果您希望 Varnish“不缓存”并且“不在缓存中查找”,那么以下内容应该有效...

# not to look up in the cache
sub vcl_recv {
  if( req.http.host ~ "^staging" ) {
    return( pass );
  }

  # other directives
}

# not to cache
sub vcl_fetch {
  if( req.http.host ~ "^staging" ) {
    return( hit_for_pass );
  }
}

欲了解更多信息,请查看类似的解决方案摘自 Varnish 官方书籍。

答案2

req.url没有该信息。请尝试使用req.http.Host

相关内容