因爲某些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