Varnish 緩存rewrite後的html頁面

因爲某些rewrite 後的html頁面,http頭信息裏帶有no-cache頭,常規配置沒法緩存,要修改varnish配置文件,去掉http裏no-cache頭,添加以下內容:

sub vcl_fetch {
        if (req.url ~ "html$") {
           set beresp.ttl = 10m;
           set beresp.do_gzip = true;
           unset beresp.http.Cache-Control;
           unset beresp.http.Pragma;
           set beresp.http.Cache-Control = "max-age=600";
           unset beresp.http.Expires;
          }
}

備註:若是rewrite後的html頁面帶cookie,還得在sub vcl_recv { } 配置裏添加以下內容
sub vcl_recv {
     if (req.request == "GET" && req.url ~ "\.(js|css|html|jpg|png|gif|swf|jpeg|ico|mp3)$") {
        unset req.http.cookie;
     }
}

以上配置文件,合適版本 varnish 3.0.x
相關文章
相關標籤/搜索