必须手动配置缓存规则:启用tiered cache提升边缘命中率,设置browser cache ttl为1个月,并通过page rules按扩展名或路径前缀精准缓存静态资源,确保cloudflare节点与用户浏览器双重高效缓存。

想让网站图片、JS、CSS等静态资源在用户本地和Cloudflare节点都高效缓存,避免重复回源拉取,必须手动配置缓存规则而非依赖默认策略。
启用Tiered Cache提升边缘缓存命中率
登录Cloudflare控制台,进入 Cache → Configuration 页面,找到 “Tiered Cache” 开关并开启。这会让Cloudflare的区域边缘节点(如上海、东京)优先从同区域的父级缓存节点(如新加坡)拉取内容,而不是直接回源——尤其能减少亚洲区用户访问欧美源站时的跨洋回源次数。
开启后无需额外设置,系统自动生效。若关闭此功能,小流量站点可能无感,但日均请求超5万次的站点会明显看到源站连接数上升15%以上。
设置浏览器缓存时间(Browser Cache TTL)
进入 Cache → Configuration,向下滚动到 “Browser Cache TTL” 区域。
下载 Comet AI 浏览器,体验由 Perplexity AI 驱动的革命性上网方式。内置 AI 助手可实时总结网页、跨标签页对比信息、自动执行任务。告别繁琐操作,让 AI 成为你的浏览副驾,大幅提升研究与工作效率。支持 Windows、macOS、Android 和 iOS。
选择 “Respect existing headers” 以外的任意选项:推荐选 “Override origin header” 并设为 1 month。这会强制覆盖你服务器返回的短缓存头(比如 PHP 默认的 max-age=0),让浏览器在30天内直接读本地缓存,不发任何验证请求。
【注意:若网站JS/CSS文件名不带哈希版本号(如main.abc123.js),启用此选项后更新文件将无法被用户立即感知】
创建精准缓存规则(Page Rules)
这是最核心也最易出错的一步。进入 Rules → Page Rules,点击 “Create page rule”。
方法一:按文件扩展名缓存静态资源
① 在 “If the URL matches” 栏输入:http.request.uri.path.extension in {"jpg" "jpeg" "png" "gif" "webp" "js" "css" "woff2" "svg"}
② 点击 “Add a setting” → 选择 “Cache Level” → 设为 “Cache Everything”
③ 再添加一项:“Edge Cache TTL” → 设为 1 month
④ 保存规则。该规则会覆盖所有匹配路径,包括 /images/logo.png 和 /assets/main.js
方法二:按路径前缀缓存(适合WordPress等CMS)
在 “If the URL matches” 栏输入:(http.host eq "yourdomain.com") and (http.request.uri.path matches "^/wp-content/(?:plugins|themes|uploads)/.*$")
→ 同样启用 “Cache Everything” 和 “Edge Cache TTL: 1 month”。
这比通配符 * 更安全,避免误缓存 /wp-admin/ 等敏感路径。
验证缓存是否生效
打开浏览器开发者工具(F12),访问一个已配置的图片或JS文件,查看响应头:
若看到 cf-cache-status: HIT 且 age 值大于0,说明Cloudflare边缘节点已缓存;
若看到 cache-control: public, max-age=2592000(即30天),说明浏览器缓存头已按配置写入。
执行 curl -I https://yourdomain.com/test.jpg,检查返回头中是否有 cf-cache-status 和 cache-control 字段。










