gpt4 book ai didi

http - Cloudflare 不考虑边缘缓存 TTL 值

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:23:38 40 4
gpt4 key购买 nike

场景

我有一个域名static.example.com。该域下的所有资源都是一次写入,多次读取。我希望 Cloudflare 尽可能积极地缓存其资源;如果服务器上的资源发生变化,客户端应该能够获取更新版本的唯一方法是我手动进入 Cloudflare 并清除该资源的缓存。

现在,我明白这是不可能的。我可以做的下一个最好的事情是在服务器上实现这一点(使用客户端缓存,例如使用 Cache-Control header )将边缘缓存 TTL 设置为高尽可能。

问题

我在 Cloudflare 中配置了一个页面规则,如下所示:

*static.example.com/*
Cache Level: Cache Everything, Edge Cache TTL: a month

但是,Cloudflare 似乎并没有遵守一个月的边缘缓存 TTL。

复制步骤

实际行为

  1. 获取 https://static.example.com/img.png。响应头 cf-cache-status: MISS。加载速度很慢,因为它转到了我的原始服务器。
  2. GET https://static.example.com/img.png,来自同一个 IP。响应头 cf-cache-status: HIT。加载速度很快,因为它由 Cloudflare 缓存。
  3. 等一天,在此期间我不会向 static.example.com 发出任何其他请求。
  4. GET https://static.example.com/img.png,来自同一个 IP。 响应 header cf-cache-status: MISS。加载速度慢! (为什么没有遵守一个月的边缘缓存 TTL?资源不应该从 Cloudflare 缓存中清除!)

预期行为

  1. 获取 https://static.example.com/img.png。响应头 cf-cache-status: MISS。加载速度很慢,因为它转到了我的原始服务器。
  2. GET https://static.example.com/img.png,来自同一个 IP。响应头 cf-cache-status: HIT。加载速度很快,因为它由 Cloudflare 缓存。
  3. 等一天,在此期间我不会向 static.example.com 发出任何其他请求。
  4. GET https://static.example.com/img.png,来自同一个 IP。 响应 header cf-cache-status: HIT。加载速度很快。

问题

为什么 Cloudflare 的代理服务器不遵守我设置的边缘缓存 TTL 值?

最佳答案

它只是一个缓存。过期只是关于何时明确过期的建议,但与所有缓存一样 - 你不能相信任何要缓存的东西 - 或在整个期间都被缓存。该项目很可能已从最近使用的逻辑缓存中过期,并且任何流行的内容都会将您的图像推出缓存。如果您希望保证元素位于 CDN 上,则不应使用像 Cloudflare 这样的基于代理的 CDN。

关于http - Cloudflare 不考虑边缘缓存 TTL 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48489303/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com