跳到主要内容
MingTone滴小站 FIELD NODE / MingTone
--:--
MISSION BRIEF / article

typecho在cloudflare的缓存规则

使用 Cloudflare CDN 后,是否遇到网站打开速度缓慢,或使用 itdog 等测速工具时,看到一片“中国红”?这通常由以下两种原因导致:

发布 2025-07-05 更新 2025-10-28 584 字 3 分钟 未分类

使用 Cloudflare CDN 后访问速度变慢?#

教你自定义缓存规则解决问题#

使用 Cloudflare CDN 后,是否遇到网站打开速度缓慢,或使用 itdog 等测速工具时,看到一片“中国红”?这通常由以下两种原因导致:

  1. Cloudflare 分配的 IP 被墙或速度慢

  2. 默认缓存设置不当,Cloudflare 默认只缓存部分文件

本文主要讲解如何通过自定义缓存规则解决第二个问题。关于 IP 优选方法,请参考:二叉树树的博客


一、了解缓存的作用#

缓存是指 CDN 服务商将你网站的文件存储到全球各地服务器,当用户访问时直接从 CDN 节点返回缓存内容,提升网站响应速度。

由于 Typecho 为动态博客系统,需要绕过所有动态页面,仅缓存静态资源

  • 动态资源:Typecho 后台、评论区、各文章主页面(需实时显示评论)

  • 静态资源:CSS、JS、图片等静态文件


二、自定义缓存规则#

1. 设置缓存所有内容#

进入 Cloudflare 后台,选择对应域名,点击左侧缓存中的 Cache Rules

  • 点击 创建规则

  • 输入规则名称,选择 所有传入请求

  • 设置选项:

    • 缓存资格:符合缓存条件

    • 边缘 TTL:忽略缓存控制表头,使用此 TTL

    • TTL 时间:推荐输入 1个月(可根据需求调整) 设置完大概长这样:

注意:若你的网站主题在不同设备有不同显示效果,请启用缓存密钥中的“缓存欺骗盔甲”和“按设备类型缓存”。

完成设置后,保存即可。


2. 设置绕过缓存动态资源#

再次创建缓存规则,输入自定义规则名称,点击编辑表达式,输入以下内容(将 example.com 替换为你的域名):

(http.request.uri.path contains "/admin" and http.host contains "example.com")
or (http.request.full_uri contains "comment" and http.host contains "example.com")
or (http.request.uri.path contains "/comment" and http.host contains "example.com")
or (http.host contains "example.com" and http.request.uri.path contains "/search")
or (http.host contains "example.com" and ends_with(http.request.full_uri, "html"))
or (http.host contains "example.com" and ends_with(http.request.full_uri, "/"))

缓存规则选择绕过缓存,保存即可。


三、其他优化建议#

建议在动态区域结合 WAF 防火墙策略,以抵御 CC 攻击或其他安全威胁。如有需求,请留言交流。

FEEDBACK 发现错误或想继续讨论?

可以直接联系维护者,或在 GitHub 查看并编辑对应 Markdown。

KEYBOARD 任务快捷键

Ctrl K 搜索,Alt ← 新一篇,Alt → 旧一篇。

LICENSE / CREATIVE COMMONS typecho在cloudflare的缓存规则

除另有说明外,本任务简报按下列许可协议共享。

作者MingTone
发布2025-07-05