我正在尝试让一些HTML页面被缓存,就像图片通过CloudFlare自动缓存一样,但是我无法让CloudFlare实际上命中其缓存。
根据文档(参考: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
。使用CloudFlare页面规则的HTML页面似乎可以正常工作,但我想避免使用它,主要是因为它太依赖于CloudFlare。我没有从这些页面中提供cookie或任何动态内容。