Cloudflare 关闭 IPv6 自适应的方法

Cloudflare 是一家来自美国的著名 CDN 服务提供商,可以说是全球最大的 CDN 服务提供商了。虽然因为某些原因,在国内起不到加速的作用,但是多数地区都能正常打开,而且提供自动的 HTTPS 加密服务,不需要单独申请证书,可以说非常良心了。

而且 Cloudflare 提供自动 IPv6 适配服务,这个功能非常好,在支持 IPv6 的网络可以优先选择,但是也产生了很多问题。

当前大部分的程序,都没有检测 IPv6 地址的功能,而且 IPv6 的IP地址库目前还没有哪家做的比较精准,这导致了许多兼容问题,比如博客后台不能正常记录来源IP,不能查看来源IP的所在地等等问题。

可是,Cloudflare 后台,网站配置的“Network”下面,“IPv6 Compatibility”并不是一个可点击的按钮,而是一个 On 的文本,难道关闭不了吗?

笔者通过查询,发现其实有其他方式可以关闭这个选项。

通过 API 关闭 IPv6

我们可以借助 CloudFlare 的 API 来实现关闭 IPv6,具体操作如下

获取 API Key

打开账户页面:https://www.cloudflare.com/a/profile

点击“Global API Key”项目右侧的“View API Key”按钮,复制看到的 Key。

获取 API 地址

在网站配置的“Network”下面“IPv6 Compatibility”区域,点击“API”就会显示。

发送指令

以 Linux 终端为例:

1
2
3
4
5
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/[项目API地址]/settings/ipv6" \ 
  -H "X-Auth-Email: [email protected]" \ 
  -H "X-Auth-Key: [账户API Key]" \ 
  -H "Content-Type: application/json" \ 
  --data '{"value":"off"}'

现在再去后台看看,发送成功后 IPv6 自适应功能变成了一个选择按钮,已经被关掉了。