如果您通过 Cloudflare Registrar 注册了域名,并希望将域名的 NS(域名服务器)指向非 Cloudflare 的其他服务商(例如 DNSPod、阿里云等),您会发现在 Cloudflare 仪表板中找不到直接的修改选项。根据 Cloudflare 的设计,这类修改需要通过 Registrar API 进行操作。
🚨 风险提示与准备工作
敏感信息保护: 在实际操作中,请务必将示例中的敏感信息(如
X-Auth-Email,X-Auth-Key,Account ID和域名)替换为您自己的真实信息。切勿泄露您的 Global API Key!API Key 权限: 您需要使用 Global API Key 或具有相应 Registrar 权限的 API 令牌进行操作。推荐使用权限更受限的 API 令牌以提高安全性。
SSH/终端环境: 操作需要在命令行界面(如 Linux/macOS 的终端、Windows 的 Git Bash 或 WSL)中进行。
🛠️ 步骤一:获取所需信息
您需要收集以下四个关键信息:
💻 步骤二:构造并执行 cURL 命令
使用 cURL 工具向 Cloudflare Registrar API 发送 PUT 请求来更新域名设置。
📌 API 端点 (Endpoint)
修改域名的 API 端点如下:
Plaintext
PUT /client/v4/accounts/{account_id}/registrar/domains/{domain_name}
📌 完整的 cURL 命令示例
将以下示例中的 大写占位符 和 NS 地址 替换为您自己的信息。
⚠️ 注意: 示例中的
disue.com、0631b4489b6555a876722bafd8806c0b、邮箱和 Key 都是示例值,请务必替换!
Bash
curl --request PUT \
--url https://api.cloudflare.com/client/v4/accounts/YOUR_ACCOUNT_ID/registrar/domains/YOUR_DOMAIN.COM \
--header 'Content-Type: application/json' \
--header 'X-Auth-Email: YOUR_CLOUDFLARE_EMAIL' \
--header 'X-Auth-Key: YOUR_GLOBAL_API_KEY' \
--data '{
"auto_renew": true,
"locked": false,
"name_servers": [
"YOUR_NEW_NS1",
"YOUR_NEW_NS2"
],
"privacy": true
}'
--url: 替换YOUR_ACCOUNT_ID和YOUR_DOMAIN.COM。--header 'X-Auth-Email: ...': 替换为您的 Cloudflare 登录邮箱。--header 'X-Auth-Key: ...': 替换为您的 Global API Key。"name_servers": [...]: 替换为您的目标 NS 服务器列表。"auto_renew"(自动续费) 和"privacy"(WHOIS 隐私保护) 可以根据需要修改。"locked"(注册商锁定) 设为false是更改 NS 的前提,保持为false即可。
示例(使用 DNSPod NS)
如果您要修改 disue.com 到 DNSPod 的 NS,命令将类似于:
Bash
curl --request PUT \
--url https://api.cloudflare.com/client/v4/accounts/0631b4489b6555a876722bafd8806c0b/registrar/domains/disue.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": [
"mussel.dnspod.net",
"crystal.dnspod.net"
],
"privacy": true
}'
✅ 步骤三:检查结果
执行命令后,如果成功,您将收到一个 JSON 格式的响应,其中 "success" 字段应为 true,"errors" 数组应为空。
成功的响应示例:
JSON
{
"errors": [],
"messages": [],
"result": {},
"success": true
}
修改完成后,NS 记录的更改需要等待注册局处理,并最终在全球范围内生效,这通常需要几分钟到几小时不等。
🔄 结语:修改回 Cloudflare NS
如果您将来想将域名修改回 Cloudflare 的 NS 服务器,只需反向操作:
获取您域名原本的 Cloudflare NS 服务器地址(通常是两个以
.cloudflare.com结尾的地址,例如mark.ns.cloudflare.com和pam.ns.cloudflare.com)。再次执行上述
cURL命令,将"name_servers"字段替换为 Cloudflare 提供的这两个 NS 地址即可。
评论区