如何关闭 Cloudflare 的 Access policy (How to disable the Access policy of Cloudflare)
本文讲述如何在不绑定信用卡的情况下关闭 Cloudflare 的 Access policy。
This post describes that how to disable the Access policy of Cloudflare without credit card.
前言
最近使用在使用 Cloudflare Pages 部署静态网页的过程中,不小心开启了 Access-policy,导致访问部署项目的历史版本都需要经过验证,但想进入关闭 Access-policy 的页面,必须要先绑定了信用卡。
这次属实是被 Cloudflare 给恶心到了,还好找到了解决方法,也就是通过调用 API 的方式去关闭这个功能。
必要条件
- 熟悉 HTTP 协议接口的使用
- 熟悉 curl 的操作方式
操作流程
根据 Cloudflare API 的文档,获取List Access Applications。
1 | GET accounts/:identifier/access/apps |
官方示例:
1 | curl -X GET "https://api.cloudflare.com/client/v4/accounts/699d98642c564d2e855e9661899b7252/access/apps" \ |
对 API 请求数据很简单,X-Auth-Email 很明显是我们账户绑定的邮箱,但是 url 参数中的 identifier 与 X-Auth-Key 的值应该如何获得?
获取自己的 identifier
登录 Cloudflare 之后,我们可以在主页的 URL 后看到一个看上去像是 ID 的字符串(abcdef1145141919810abcdefabcdefa),没错,这个就是我们的identifier 。

获取自己的 X-Auth-Key
登录 Cloudflare 可在这个页面 https://dash.cloudflare.com/profile/api-tokens 的 Global API Key 选项中查看。
获取 Access policy 的 ID
有了自己账户的 identifier 与 X-Auth-Key 之后,就可以对上文提到的 API 发送请求了,以下是我开启 Access policy 后对该 API 发送请求的结果,我们可以得到 Access policy 的 ID ffffffff-1145-1419-1981-ffffffff
。
1 | { |
关闭 Access policy
有了 Access policy 的 ID 之后,就可以使用删除 Access Application 的接口关闭 Access policy。Cloudflare 是使用 RESTful 规范设计的 API,删除接口的 URL 就是将上文提到的接口,将 GET 换成 DELETE,并在最后加上 ID。
1 | DELETE accounts/:identifier/access/apps/:uuid |
1 | curl -X DELETE "https://api.cloudflare.com/client/v4/accounts/abcdef1145141919810abcdefabcdefa/access/apps/ffffffff-1145-1419-1981-ffffffff" \ |
发送 DELETE 请求后,返回结果类似以下的结果,状态码为 202 (Accepted),恭喜你,你已经成功关闭了这该死的 Access policy!
如果返回了其他的结果,请根据返回的结果中的提示,修改你请求中的参数。
1 | { |
参考资料
如何关闭 Cloudflare 的 Access policy (How to disable the Access policy of Cloudflare)
http://pinkchampagne17.github.io/blog/2021/11/03/如何关闭Cloudflare的Access-policy/