CloudFlare – 使用API修改CloudFlare NS记录方法

### 前言

域名前几天转到了CloudFlare,发现无法修改NS,也就无法使用CF优选了。 今天经过 @"rm-rf/*"#980 大佬指点,知道可以使用api修改NS,哪怕域名在CF也是可以的。

### 官方文档

https://developers.cloudflare.com/api/operations/registrar-domains-update-domain

### 修改方法

进入 SSH,输入

``` curl --request PUT \ --url https://api.cloudflare.com/client/v4/accounts/0631b4489b6555a876722bafd8806c0b/registrar/domains/nodeloc.com \ --header 'Content-Type: application/json' \ --header 'X-Auth-Email: [email protected]' \ --header 'X-Auth-Key: ca3a22e7988ca555827b78e1e8dfa7f22b370' \ --data '{ "auto_renew": true, "locked": false, "name_servers": [ "ns3.dnsv2.com", "ns4.dnsv2.com" ], "privacy": true }'

```

https://api.cloudflare.com/client/v4/accounts/0631b4489b6555a876722bafd8806c0b (域名 — 概述 — API — 账户 ID)/registrar/domains/nodeloc.com (这里为要修改的域名)\

X-Auth-Email: [email protected](登录 cloudflare 的邮箱)

X-Auth-Key: ca3a22e7988ca555827b78e1e8dfa7f22b370(我的个人资料 — API 令牌 — API 密钥 — Global API Key )

“name_servers”: [“mussel.dnspod.net”, “crystal.dnspod.net”(修改新的 NS 地址)

### 结语

修改后如果想修改回 cloudflare 的 NS,反向修改即可。

学习学习

今天试了一下好像不行, @rm-rf 大佬来帮忙看看 :ac07:

</s><i> </i>{"result":null,"success":false,"errors":[{"code":10000,"message":"Name server update not allowed"}],"messages":["Name server update not allowed"]}<i> </i><e>

@“James”#p39382 后端的路也给堵上了咯

@“James”#p39382

`https://api.cloudflare.com/client/v4/accounts`,**accounts API** 以前转入的域名都可以,最近新转入的域名都被堵住了

还有**zones API**可以用 `https://api.cloudflare.com/client/v4/zones` 。

`https://api.cloudflare.com/client/v4/zones/{domain_id}/dns_records` 把@的根ns移动到其他地方。用www和*.也行

看这个说明[https://developers.cloudflare.com/api/operations/zones-get](#)


----

差不多是这个格式
`curl -X PUT "https://api.cloudflare.com/client/v4/zones/{domain_id}/dns_records/$CFDOMAIN_RECORD_ID" \
-H "X-Auth-Email: $CF_EMAIL" \
-H "X-Auth-Key: $CF_GLOBAL_API_KEY" \
-H "Content-Type: application/json" \
--data '{"type":"NS","name":"'$CFDOMAIN_RECORD_NAME'","content":"'$CFDOMAIN_RECORD_NS'"}'`

不知道变了没有,以最新api为准

@“rm-rf/*”#p39436 谢谢大佬 我等下试试

@“James”#p39451 成功没有,具体怎么操作?

太高深了,看不懂

懂得比较简单

不懂得,就复杂了

@“James”#p39451 该不会没搞懂填什么吧,$CFDOMAIN_RECORD_NAME填@、www、ws等等。把子域名迁移出去。$CFDOMAIN_RECORD_NS填第三方服务器,如ns1.alibabadns.com等等的。

现在面板好像更新了,除了api外可以直接操作

修改ns的目的是啥呀 我还不太懂 ns有啥用呢 emm

@“zqq-nuli”#p40886 CF用NS接入的话就不能优选了

@“rm-rf/*”#p40883 子域名改NS后不能优选吧!

@“rm-rf/*”#p39436 大佬,我之前用Api转出去的,现在转不回来了咋办,提示Name server update not allowed

大佬,几年前改了NS之后,改不回去,有解决方法吗?