-/3 分钟/

liu error

摘要

问题的核心原因是Cloudflare Purge API认证失败,导致博客发布文章后无法清除缓存,进而导致新文章无法显示。解决方法是检查并重新配置Cloudflare Workers的环境变量,包括API Token权限、环境变量配置和变量名称验证。重新触发流程后,手动清理一次缓存并再次尝试发布或修改文章即可解决问题。

核心原因

截图中的错误信息是:

Cloudflare Purge API failed: {"code":10000, "message": "Authentication error"}

这意味着你的博客在尝试“清除缓存(invalidate caches)”时,API 认证失败了。

为什么会导致文章不显示?

1. 流程中断:这个 post-process-workflow 是发布文章后的自动化流程。它负责更新搜索索引、生成摘要和**清理缓存**。

2. 缓存没清理:因为最后一步“清理缓存”报错失败了,Cloudflare 的边缘节点依然缓存着你发布文章之前的旧页面。

3. 结果:数据库里其实已经有新文章了,但你访问博客时,Cloudflare 还在给你看旧的缓存,所以新文章显示不出来,或者有巨大的延迟。

解决方法

你需要检查并重新配置 Cloudflare Workers 的 环境变量 (Environment Variables)。请按照以下步骤操作:

1. 检查 API Token 权限

你创建的 Cloudflare API Token 权限可能不够,或者已经失效。

去 Cloudflare 控制台 -> 右上角 *My Profile (个人资料)** -> API Tokens

* 确保你的 Token 至少拥有以下权限:

* Zone - Cache Purge - Edit (最重要的,负责清理缓存)

* Zone - Zone - Read (读取域名信息)

* Worker Scripts - Edit (可选,取决于项目需求)

* 建议:如果你不确定,可以创建一个拥有 "All zones - Cache Purge" 权限的 Token。

2. 检查环境变量配置

进入你的 Cloudflare 控制台,找到部署这个博客的 WorkersPages 项目:

点击 Settings (设置) --> Variables (变量)

  • 检查以下变量的值是否正确:

CLOUDFLARE_API_TOKEN:填入你上面创建的 Token。

CLOUDFLARE_ZONE_ID:确保这是你域名的 Zone ID(在域名的 Overview 页面右侧可以找到)。

CLOUDFLARE_ACCOUNT_ID:你的账户 ID。

3. 验证环境变量名称

查看 du2333/flare-stack-blog 项目的文档或 wrangler.toml 文件,确认变量名是否严格匹配。

  • 有些项目可能要求变量名为 CF_API_TOKENPURGE_API_TOKEN。请对照该项目的 README 检查。

4. 重新触发流程

配置好变量后:

1. 手动清理一次缓存:在域名管理界面 -> Caching -> Configuration -> Purge Everything

2. 再次尝试发布或修改一篇文章,观察工作流是否全部变绿。

总结

你的 API Token 错了或者没权限。 只要把 API Token 搞定,让 invalidate caches-1 这一步运行成功(变绿),文章不显示的问题就会立刻解决。

End of Article