侧边栏壁纸
博主头像
Disue

Carpe diem

  • 累计撰写 4 篇文章
  • 累计创建 4 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Cloudflare Registrar API 修改域名 NS 服务器指南

DISUE
2025-11-03 / 0 评论 / 0 点赞 / 16 阅读 / 0 字

如果您通过 Cloudflare Registrar 注册了域名,并希望将域名的 NS(域名服务器)指向非 Cloudflare 的其他服务商(例如 DNSPod、阿里云等),您会发现在 Cloudflare 仪表板中找不到直接的修改选项。根据 Cloudflare 的设计,这类修改需要通过 Registrar API 进行操作。

🚨 风险提示与准备工作

  1. 敏感信息保护: 在实际操作中,请务必将示例中的敏感信息(如 X-Auth-Email, X-Auth-Key, Account ID域名)替换为您自己的真实信息。切勿泄露您的 Global API Key!

  2. API Key 权限: 您需要使用 Global API Key 或具有相应 Registrar 权限的 API 令牌进行操作。推荐使用权限更受限的 API 令牌以提高安全性。

  3. SSH/终端环境: 操作需要在命令行界面(如 Linux/macOS 的终端、Windows 的 Git Bash 或 WSL)中进行。

🛠️ 步骤一:获取所需信息

您需要收集以下四个关键信息:

信息名称

对应示例值

如何获取

Account ID (账户 ID)

0631b4489b6555a876722bafd8806c0b

登录 Cloudflare -> 选择一个域名 -> 概览 (Overview) 页面右侧下方 API 区域可找到。

X-Auth-Email (登录邮箱)

[email protected]

您的 Cloudflare 登录邮箱。

X-Auth-Key (Global API Key)

ca3a22e7988ca555827b78e1e8dfa7f22b370

登录 Cloudflare -> 我的个人资料 (My Profile) -> API 令牌 (API Tokens) -> API 密钥 (API Keys) -> 查找 Global API Key 并点击 查看 (View)复制 (Copy)

New Name Servers (新的 NS 地址)

mussel.dnspod.net, crystal.dnspod.net

您希望域名指向的新的 DNS 服务商提供的 NS 地址。

💻 步骤二:构造并执行 cURL 命令

使用 cURL 工具向 Cloudflare Registrar API 发送 PUT 请求来更新域名设置。

📌 API 端点 (Endpoint)

修改域名的 API 端点如下:

Plaintext

PUT /client/v4/accounts/{account_id}/registrar/domains/{domain_name}

📌 完整的 cURL 命令示例

将以下示例中的 大写占位符NS 地址 替换为您自己的信息。

⚠️ 注意: 示例中的 disue.com0631b4489b6555a876722bafd8806c0b、邮箱和 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_IDYOUR_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 服务器,只需反向操作

  1. 获取您域名原本的 Cloudflare NS 服务器地址(通常是两个以 .cloudflare.com 结尾的地址,例如 mark.ns.cloudflare.compam.ns.cloudflare.com)。

  2. 再次执行上述 cURL 命令,将 "name_servers" 字段替换为 Cloudflare 提供的这两个 NS 地址即可。

0

评论区