【发布时间】:2016-04-26 22:30:55
【问题描述】:
我正在尝试缓存一些 html 页面,与通过 CloudFlare 自动缓存图像的方式相同,但我无法让 CloudFlare 实际命中其 html 缓存。
根据文档(参考:https://support.cloudflare.com/hc/en-us/articles/202775670-How-Do-I-Tell-CloudFlare-What-to-Cache-),可以缓存任何将 Cache-Control 设置为 public 且 max-age 大于 0 的内容。
我在我的原始 Nginx 服务器上尝试了各种标头组合,但均未成功。从简单的Cache-Control: public, max-age=31536000 到更复杂的标头,包括s-maxage=31536000、Pragma: public、ETag: "569ff137-6"、Expires: Thu, 31 Dec 2037 23:55:55 GMT,没有任何结果。
有什么想法可以强制 CloudFlare 从缓存中提供 html 页面吗?
PS:我在图像上得到了CF-Cache-Status: HIT,它工作正常,但在 html 页面上什么也没有,甚至没有CF-Cache-Status: something。使用 html 页面的 CloudFlare 页面规则,它似乎可以正常工作,但我想避免使用它,主要是因为它太特定于 CloudFlare。我没有从这些页面提供 cookie 或任何动态内容。
【问题讨论】:
标签: caching nginx cache-control cloudflare