Cloudflare 如何关闭 Pages 中的 AccessPolicy

《关于我把博客搞裂开又修好这件事》

今天在看 Cloudflare Pages 的通用设置时,看到了有 Access Policy 这么个玩意儿。

从看到它的这一刻,博主就浑身难受,一天不点都难受
在一个大风起兮云飞扬的下午,博主终于把这玩意打开了。

于是乎,我就发现这玩意有个贼坑爹的点。

众所周知,Cloudflare 会给你每一次构建生成一个三级域名(构建id.项目id.pages.dev)
然而,你开启了 Access Policy 之后,就只能直接访问 项目id.pages.dev 了,访问其下的子域名均需要输入一个密钥。

我尝试过点开启之后所显示的 Manage Policies 按钮,但是会跳转到 Cloudflare for Teams Dashboard,也就是 CF 的团队套餐管理面板。
然后…你就看到了醒目的 Choose a plan。

虽然有免费套餐可选,但是这玩意是需要绑定信用卡的。而博主这种穷人家的孩子,又怎么可能用得起这种 睾贵的资本主义产物 信用卡呢。

博主尝试过通过 Google 搜索,但一无所获。

于是博主换成英文来搜,知识的力量 搜到了

可以看到 这篇帖子 中的 CF 用户言辞激烈,甚至用到了 disgusting 这个词,可见该老哥是有多么厌恶这个功能,其这种行为感动中国

也有带佬在下面跟帖了解决方案,即通过 Cloudflare 提供给用户的 API 功能实现。

相关链接

于是乎,顺着这个 API 的教程,博主总算是把这个功能 平安无恙地送走了 关掉了

首先就是 curl 一下 API 来获取相应的 app uuid

curl -X GET “https://api.cloudflare.com/client/v4/accounts/[账户标识符]/access/apps/
-H “X-Auth-Email: [账户邮箱]”
-H “X-Auth-Key: [账户KEY]”
-H “Content-Type: application/json”
账户标识符: 在 Cloudflare控制面板登陆后,有一串字符,就是你的账户标识符

账户邮箱: 账户邮箱。如果你看不懂的话,建议重修 Chinese
账户KEY: 打开这个页面,找到 Global API Key,修改或查看并复制下来

curl 之后,博主得到了如图所示的一大堆内容,但实际上能用上的只有uid这一个内容,我们只需要把它后面的一串字符复制下来,这就是 app uuid

之后,我们再 curl 一下这段内容(注意修改一些值),便可以把对应的 Access Policy 关掉了

curl -X DELETE “https://api.cloudflare.com/client/v4/accounts/[账户标识符]/access/apps/[app uuid]”
-H “X-Auth-Email: [账户邮箱]”
-H “X-Auth-Key: [账户KEY]”
-H “Content-Type: application/json”

就喜欢看这种 success 的 result

我再点我就剁手(