背景
为了提升博客的全球访问速度并节省流量成本,决定使用 Cloudflare 作为 CDN 服务商。同时,为了解决发布文章后 CDN 缓存更新不及时的问题,配合 Halo 的 CDN 缓存刷新插件 实现自动化清理缓存。
准备工作
拥有一个 Halo 博客。
域名已托管至 Cloudflare 并开启了 CDN(橙色云朵图标)。
在 Halo 应用市场安装了“CDN 缓存刷新”插件。
第一步:在 Cloudflare 获取 Zone ID 和 API Token
配置的核心在于获取“区域 ID”和“操作令牌”。
1. 获取 Zone ID
登录 Cloudflare 控制台。
点击进入你的域名(如
seguzhixue.top)。在“概览 (Overview)”页面的右下角,找到 Zone ID 并复制保存。
2. 生成专用 API Token
在概览页右下角点击 Get your API token(或访问“我的个人资料” -> “API 令牌”)。
点击 Create Token,选择 Custom Token(自定义令牌)。
权限设置 (Permissions):
Zone->Cache Purge->Purge(这是核心权限)。
资源设置 (Zone Resources):
Include->Specific zone-> 选择你的域名。
生成后,立即复制显示的 Token 字符串(只会显示一次)。
Cloudflare 后台生成 Token 的审计日志记录:
第二步:配置 Halo 插件
进入 Halo 后台 -> 应用市场 -> 已安装 -> CDN 缓存刷新 -> 配置。
CDN 服务商:选择
Cloudflare。Zone ID:填入第一步获取的 ID。
API Token:填入第一步生成的专用令牌。
保存配置。
第三步:验证自动化流程
配置完成后,我们需要验证“Halo 发布文章 -> 自动触发 Cloudflare 清理缓存”这一流程是否打通。
1. 触发动作
在 Halo 后台更新或发布一篇文章。
2. 检查 Halo 插件日志
回到插件配置页面的“刷新日志”栏。如果看到绿色的 成功 标记,且列出了刷新的 URL,说明 Halo 端发送请求成功。
Halo 插件端的成功日志:
3. 检查 Cloudflare 审计日志 (Audit Log)
为了确保请求真的到达了 CDN,前往 Cloudflare 后台 -> Manage Account -> Audit Log。
如果看到操作类型为 Purge Cached Content,且来源为 api_token,说明 Cloudflare 成功接收指令并执行了清理。
Cloudflare 端的接收指令日志:
总结
通过以上配置,实现了写文章 -> 点击发布 -> 自动触发 CDN 刷新 -> 读者立刻看到最新内容的全自动化工作流。无需人工干预,既享受了 CDN 的加速,又保证了内容的实时性。

