1511 字
8 分钟
Cloudflare进阶技巧之CDN 最佳实践:设定、缓存与效能提升
2025-05-15
2025-06-27

Cloudflare 的内容分发网络 (CDN) 是现代网站优化的核心武器,但许多网站所有者仅使用了其基本功能,完全没有发挥其全部潜力。根据实际统计,正确设置的 Cloudflare CDN 可以将网站加载时间减少高达 50-70%,大幅提升用户留存率和转换率。本文将深入探讨如何完全释放 Cloudflare CDN 的强大性能,确保所有内容得到最佳缓存,并为您的访客提供闪电般的体验。

1 了解 Cloudflare CDN 的核心原理#

  1. Cloudflare CDN 本质上是一个内容分发网络和反向代理云提供商,拥有遍布全球的服务器网络。 当用户访问您的网站时,Cloudflare 会拦截请求并从最近的服务器提供缓存内容,大幅减少延迟时间。
  2. Cloudflare 的全球网络涵盖 335 个据点,能够将内容尽可能靠近您的最终用户 - 约 95% 的网络连接人口都能在约 50 毫秒内得到响应。 这种广泛的全球网络使 Cloudflare 能够在保持最高性能和弹性的同时,以最大规模交付静态和动态内容。

2 解决 Cloudflare 默认缓存的限制#

很多网站管理员不知道的是,Cloudflare 默认的缓存行为有严格限制:

  1. Cloudflare 仅根据文件扩展名缓存,而不是按 MIME 类型
  2. 默认情况下不会缓存 HTML 或 JSON 文件
  3. 许多网站管理员发现大部分资源被标记为「动态」,因此不被缓存
  4. 这就是为什么许多用户在使用 Cloudflare 时,发现大约只有 0.02% 的内容实际被 Cloudflare 缓存并服务。 如果不进行适当设置,您实际上可能完全没有利用到 CDN 的主要优势。

3 节点选择#

  1. 针对中国用户,选择最快的 Cloudflare 节点,例如移动(172.64.32.1/24,香港)、电信(104.16.160.1/24,洛杉矶)、联通(108.162.236.1/24,美国)。
  2. 可通过 Cloudflare Partner(如 BNXB, https://cdn.bnxb.com/ )使用 CNAME 解析自定义节点。

4 启用「Cache Everything」设置的关键步骤#

要最大化 Cloudflare 的缓存潜力,必须启用「Cache Everything」功能。这有两种方法

4.1 通过页面规则设置#

  1. 登入 Cloudflare 仪表板并选择您的域名
  2. 点击左侧的「Rules」
  3. 选择「页面规则」
  4. 点击「创建页面规则」
  5. 在 URL 匹配模式中输入: *yourdomain.com/* (替换为您的域名)
  6. 在设置中选择「Cache Level」并将其设为「Cache Everything」
  7. 点击「保存并部署页面规则」

4.2 通过 Cache Rules 设置(推荐方法)#

  1. 前往 Cloudflare 仪表板选择您的域名
  2. 点击「Caching」选项卡
  3. 选择「Cache Rules」子页面
  4. 创建新规则,条件设为「All incoming requests」
  5. 在「则…」部分,将「缓存资格」设为「符合缓存条件」
  6. 将「边缘 TTL」设为「如果存在,使用缓存控制标头,如果不存在,使用 Cloudflare 的默认 TTL 缓存请求来获取响应状态」
  7. 储存设置

5 优化缓存控制头部设置#

为确保最佳缓存效果,您需要正确设置 Cache-Control 头部并确保 Cloudflare 尊重这些头部:

  1. 前往 Cloudflare 仪表板的「缓存」>「配置」
  2. 将「浏览器缓存 TTL」设为「尊重现有标头」
  3. 禁用「Always Online™」(如果已启用)
  4. 在您的源伺服器上,应根据资源类型设置不同的缓存头部:这种设置可以确保静态资源被长时间缓存,而动态内容始终保持最新
资源类型建议的 Cache-Control 头部
静态版本化资源(如 CSS、JS)public, max-age=31536000, immutable
动态资源(如 HTML 页面)cache-control: max-age=0,must-revalidate,public

这种设置可以确保静态资源被长时间缓存,而动态内容始终保持最新。

6 启用高级性能协议#

Cloudflare 提供多种协议优化选项,可以显著提升网站性能:

6.1 HTTP/2 和 HTTP/3 启用步骤#

  1. 登入 Cloudflare 仪表板
  2. 导航至「速度」>「优化」
  3. 在「Protocol Optimization」部分,启用以下选项:
    • HTTP/2 和 HTTP/3(使用 QUIC)
    • HTTP/2 到原点
    • 0-RTT 连接恢复

这些协议优化可以减少延迟,提高资源利用率,并加快加载时间。特别是同时启用 HTTP/2、HTTP/3 和 0-RTT Connection Resumption 的组合效果最佳。

7 内容优化设置#

Cloudflare 提供多种内容优化工具,可以进一步加速网站:

7.1 关键内容优化选项#

优化选项功能建议设置
Cloudflare Fonts在 Cloudflare 伺服器上缓存常用网络字体开启
Early Hints向浏览器发送有关即将到来的资源的初步提示开启
Rocket Loader™优化 JavaScript 加载方式开启
Mirage根据访问者的设备和网络状况优化图像加载开启
Minify压缩的 HTML、CSS 和 JavaScript开启所有

8 缓存大小限制和优化策略#

了解 Cloudflare 对不同计划的缓存限制也很重要:

8.1 各计划的缓存限制#

计划类型最大上传大小可缓存文件限制
Free100 MB512 MB
Pro100 MB512 MB
Business200 MB512 MB
Enterprise500+ MB5 GB(可请求增加)

对于超过限制的文件,可以通过分组请求或使用非代理 DNS 记录上传完整资源。

9 安全性与性能的平衡#

9.1 安全与性能并重的设置#

  1. 设置速率限制规则防止攻击,例如:
Terminal window
URL: /*
Action: Rate-limit
Requests: 100 per minute
  1. 限制源伺服器只允许来自 Cloudflare IP 范围的流量
  2. 考虑使用 Cloudflare Tunnels 完全不暴露任何入站端口

10 监控与优化缓存效果#

10.1 设置完成后,持续监控和优化缓存效果至关重要#

  1. 使用 Chrome 开发者工具检查响应头中的「cf-cache-status」。 「HIT」表示资源已被缓存
  2. 考虑使用 Dr. Flare 等 Chrome 扩展分析网站,了解有多少内容来自 Cloudflare 缓存
  3. 定期检查 Cloudflare 分析,了解缓存命中率和性能指标

11 还有更多的优化攻略 (持续更新)#

12 相关参考学习链接#

Cloudflare CDN 最佳實踐:設定、緩存與效能提升

Cloudflare进阶技巧之CDN 最佳实践:设定、缓存与效能提升
https://blog.fuxieyi.top/posts/cloudflare进阶技巧之cdn-最佳实践设定缓存与效能提升/
作者
谢懿Shine
发布于
2025-05-15
许可协议
CC BY-NC-SA 4.0