CloudFlare 是一家来自美国的著名 CDN 服务提供商,可以说是全球最大的 CDN 服务提供商了,基本没有它防不住的 DDoS。今天不多说 CloudFlare 的其他方面,只说一下如何关闭 CloudFlare 的自动匹配 IPv6 这个问题。
问题的缘由是因为前两天网站遭受攻击,于是进行搬家 + 上 CDN,但是之前的 VPS 一直没有 IPv6,搬到一个新的 VPS 上是有 IPv6 的,于是就出了问题,被 CloudFlare 发现了我的新的 VPS 有 IPv6,于是就自适应的解析到 IPv6 上去了。查看 CloudFlare 后台,好不容易才找到关闭 IPv6 的方法,分享一下。
CloudFlare 关闭 IPv6 的地方
进入 CloudFlare 后台,在网站配置的“Network”下面,就可以看到:
但是一般情况下,这个选项是不可更改的,如下图所示,一般情况下,只有一个“On”,并没有可以关闭的地方:
这时候我们就需要借助 CloudFlare 的 API 来关闭 IPv6,因为 CloudFlare 相信 IPv6 是个大趋势,所以默认界面不提供关闭 IPv6 的途径。
通过 API 关闭 IPv6
我们可以借助 CloudFlare 的 API 来实现关闭 IPv6,具体操作如下。
首先打开我们的账户获取 API Key。
打开账户页面:
https://www.cloudflare.com/a/profile
可以看到下面的“Vie API Key”,我们选择查看“Global API Key”,也就是第一个。然后复制看到的 Key。
然后就可以开始发送请求了,随便打开一个终端(以 Linux 为例),输入如下命令:
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/023e105f4ecef8ad9ca31a8372d0c353/settings/ipv6" \ -H "X-Auth-Email: user@example.com" \ -H "X-Auth-Key: c2547eb745079dac9320b638f5e225cf483cc5cfdda41" \ -H "Content-Type: application/json" \ --data '{"value":"off"}'
其中:
- 路径可以在你的网站页面看到,点击“API”就会显示:
- Email 就是你的 CloudFlare 账户的邮件地址;
- X-Auth-Key 就是刚刚查看的 API Key;
- 其他不用改。
输入命令后,回车,会看到如下返回信息:
{"result":{"id":"ipv6","value":"off","modified_on":"2018-02-04T06:17:42.640128Z","editable":true},"success":true,"errors":[],"messages":[]}
看到“success: true”,就说明成功了。
如果失败,会提示相关的错误信息,比如如果没有正确输入相应的 API Key 等信息:
{"success":false,"errors":[{"code":9106,"message":"Missing X-Auth-Email header"},{"code":9107,"message":"Missing X-Auth-Key header"}],"messages":[],"result":null}-H: command not found
根据错误信息查找相关错误即可,一般不会出错。