我编写了一个使用 Cloudflare Images 的 Cloudflare Worker。
默认情况下,Cloudflare Workers 会发送“14400”作为最大年龄用于缓存目的的值。我想改用“31536000”(365d),以匹配我的原点配置。
我阅读了 Cloudflare 的文档、有关此问题的各种社区帖子以及一些 StackOverflow 帖子,并尝试了以下 3 种解决方案:
将 Cloudflare 中的默认浏览器 TTL 从 4 小时(14400)更改为“尊重来源标头”。
试了一下,“14400”消失了,变成了“0”
直接在 CF Worker 中覆盖浏览器 TTL:
options.cacheControl = { browserTTL: 31536000 }
试过了,没有影响
直接在 CF Worker 中覆盖 Edge TTL:
options.cacheControl = { browserTTL: 31536000, edgeTTL: 31536000 }
试过了,没有影响
我对我们的原始服务器进行了三次检查,它返回了有效的缓存控制标头:
expires: Tue, 16 May 2023 18:45:00 GMT
Cache-Control: max-age=31536000
Cache-Control: public
我这里遗漏了什么吗?
答案1
在 Cloudflare 支持人员调查此问题后,我们的 Cloudflare 工作人员最终开始考虑我们的 Origin 缓存标头。
我们没有做任何改变,所以这个问题很可能是由于传播改变所需的时间造成的。