are 的 自动解析关闭 Cl

Cloudflare 是全球著名的网络服务提供商,最出名的业务就是免费 CDN 业务。不过这篇文章可不是来给 Cloudflare 打广告的,而是说一下如何关闭 CloudFlare 的自动匹配 IPv6 这个问题。

最近一段时间里,本站时不时的就会出现 DNS 解析无响应的情况,浏览器打开页面直接白屏,多次强制刷新后才能解析出来,十分影响体验。于是各种排查,从宽带,浏览器和不同设备,结果问题依旧,最后把关注点放到了 Cloudflare 的解析问题上。

国内经过工信部为首的部门几次大力推广和政策要求,三大运营商的家用宽带基本都普及了 IPv6 地址,但问题就出在 Cloudflare 对 IPv6 的优先级上了。哪怕网站服务器端完全没配置 v6,但是只要访问用户有 v6 地址的, Cloudflare 一律会优先自动解析到他家 v6 节点上,理由是认为 IPv6 是未来趋势。这个理由是没错,然而 Cloudflare 的 v6 节点路径走向有问题,对于大陆地区的访问速度反而不如 v4。

ping 一下本站域名,可以发现默认都是返回 v6 节点地址:

-1

在移动宽带下,延迟都突破了 300ms,实在是过于感人,而且对于移动会绕到欧洲去,CDN 直接从加速变成了反向减速。

IPv6 的选项位于 Cloudflare 后台的 Network 分类中,但默认是开启状态完全无法修改:

-2

于是去网上查了一下,发现还只能通过 Linux 命令行来借助 API 来关闭这选项,摆明了就是故意恶心人的。

首先去到账户信息页面:https://dash.cloudflare.com/profile

点击 API Tokens 分类,然后点击 Global API Key 后面的 View,获取 Global API Key:

cf-ipv6-04-3

然后回到域名管理界面,Network 分类下的 IPv6 选项,点击这个选项右下角的 API 字样:

-4

然后可以看到两个管理 API 链接,把第二个 Change IPv6 setting 的链接复制下来,也就是 PATCH 开头这一串:

-5

接着到 Linux 命令行下执行以下命令,整个复制粘贴,修改其中信息为自己的,然后回车运行即可:

curl -X PATCH "https://api.cloudflare.com/client/v4/zones/316dda2d84433db5a87fe44b940c119f/settings/ipv6"      -H "X-Auth-Email: abcd@outlook.com"      -H "X-Auth-Key: 723499305e50b162e69555c59bev3c25623a4"      -H "Content-Type: application/json"      --data '{ "value":"off"}'

其中 PATCH 开头的链接换成 IPv6 选项里获取的,abcd@outlook.com 替换为自己的 Cloudflare 账户名称,X-Auth-Key 后面替换成货到到的账户的 Global API Key。

运行后看到 success 后面写着 true 就是成功了:

-6

现在刷新页面就可以看到 IPv6 选项变成了 off 状态:

-7

等 DNS 解析彻底清除 v6 记录的话大概需要 10-30 分钟不等,然后 ping 一下域名,就会发现变回 ipv4 节点了:

-8

注意的是这个操作选项只针对单个域名,如果你有多个域名在 Cloudflare ,那么就需要每个域名都获取对应的 API 操作一遍。

上一篇:大厨教你饭店凉拌萝卜丝的做法,看看都用的啥调料,香辣脆爽
下一篇:胃口不好“四香”必不可少,不仅增强食欲,还能促进身体发育