我已经为我的网站设置了 CloudFlarehttp://www.funfun.org.cn,缓存级别为Standard
和 开发模式为Disabled
。
通过加载主页http://www.funfun.org.cn/1/#/home,我可以Server: cloudflare
在响应头中看到。但似乎所有静态 JS 文件都CF-Cache-Status:MISS
在其响应头中。
有人知道为什么吗?
编辑1:我也在Cache-Control:no-cache
请求标头中看到了。我们该如何修改它?
答案1
正如您所说,问题很可能是“无缓存”指令。看看我的教程它会引导你设置 Nginx 和 CloudFlare。
对您来说,关键部分是使用 Nginx 设置缓存标头。您需要 Nginx 具有“标题更多“模块包括-“nginx -V”将告诉你它是否被编译进去。有些发行版包括这个,否则你必须自己构建 Nginx,这非常简单(如果你用 Google 一下,会发现很多文章,包括 Nginx 网站)。
下面清除现有的标头
more_clear_headers "Pragma"; more_clear_headers Server; more_clear_headers "Expires";
然后我们可以手动设置标题。对于图像,我们使用相当长的过期时间
add_header Cache-Control "public, max-age=691200, s-maxage=691200";
对于页面,我们会将其缩短——许多网站都需要缩短到这个程度,甚至设置为不缓存
add_header Cache-Control "public, max-age=86400, s-maxage=86400";