TL;DR
Cloudflare 后台 API 认证错误,账户可以正常登陆,但无法操作任何资源。工单中给出的回复:重新创建账户,重新导入站点。但这会丢失所有数据!
事发经过
今晚,我通过 Cloudflare 面板更新了账户名称(dashboard→manage account→configurations→preferences→account name)。随后,面板下方不停弹出 Authentication Error (Code: 10000),我失去了我账户所有资源的访问权限,好在站点仍可正常运行,只是不能更改 DNS 等设置。
我尝试了很多方法,包括但不限于:
- 清除浏览器缓存
- 重启电脑
- 使用代理在不同地域访问我的账户(Asia/HK,TW,CN,SG,JP; Na/CA,US; Eu/ENG,FR;)
- 重新登录
- 更换设备
- 更换浏览器
- 浏览器使用匿名模式(–incognito)
均无效。
我还看了一下 DevTools,发现只有关于“计费和订阅”的 API 返回认证错误。
https://dash.cloudflare.com/api/v4/accounts/{id}
- /subscriptions
- /billing/history?page=1&status=OPEN
- /billing/bad-debt
- /payment-methods
- /billing/credits
- /billing/pre-verification-captcha
- /billing/profiles
其余 API 均返回成功结果,还包含了正确的权限信息。例如 /memberships
返回的 JSON 对象中,result[0].permissions
全部权限项 read/edit
的值为 true
、roles
为 ["Super Administrator - All Privileges"]
。
解决方案
提交工单,CF给我的回复是…
回复原文
Hi there,
thank you for contacting Cloudflare.
Sorry to hear you are experiencing issues here.
Please delete the account and re create the account adding your domain.
See: Delete Account
See: Add Site to Cloudflare
让我重新创建账户并导入站点。
这是不可接受的,因为删除账户等于删除一切配置和记录,Web Analytics、DNS设置、Workers都会丢失!然而我不得不这样做。
这不是个例
https://community.cloudflare.com/t/website-authentication-errors-after-email-change/445995
教训
这件事给我了一个教训:Don't touch, it works. 永远不要手贱去修改无需修改且正常工作的东西。我是 Free Plan 用户,无法得到高级别的支持服务。