我有一台服务器在Apache之前设置了Varnish。我的PHP应用程序正在创建新文件以创建压缩的JS和CSS文件,但是当创建这些文件时,Varnish不会在3-4分钟内看到这些文件,因此第一个页面加载文件的404错误。我知道文件存在,正如我在文件系统中看到的那样。
我该如何解决这个问题?一些htaccess缓存头可以帮忙吗?
答案 0 :(得分:1)
您可以清除VCL上的缓存404(有特殊请求)[1],甚至强制404错误根本不缓存:
sub vcl_fetch {
# ...
if (beresp.status == 404) {
set beresp.ttl = 0s;
set beresp.http.cache-control = "no-cache, must-revalidate, post-check=0, pre-check=0";
}
# ...
}
[1] https://www.varnish-cache.org/docs/3.0/tutorial/purging.html