配置Varnish以重写用于客户端缓存的Expires / Cache-Control标头

Modified on: Sun, 03 Nov 2019 12:40:02 +0800

如何配置Varnish以便对匹配请求的所有响应说“* .css”在客户端的浏览器中缓存30天?

我想要实现的是让Varnish设置正确的“Expires:”和/或“Cache-Control”设置,以便所有CSS:s缓存30天,无论后端对客户端说什么 - 这些对象的可缓存性。

作者:,knorv

最佳答案

这就是诀窍:

sub vcl_fetch {
  ..
  if (req.url ~ "\.css$") {
    set obj.http.magicmarker = "1";
  }
  ..
}

sub vcl_deliver {
  ..
  if (resp.http.magicmarker) {
    unset resp.http.magicmarker;
    set resp.http.Cache-Control = "...";
    set resp.http.Expires = "...";
    set resp.http.Age = "...";
  }
  ..
}
作者:knorv

相关问答

添加新评论