购买域名并管理 DNS 解析
以一个新工作室为例,先选择域名、核对报价并完成购买,再管理 blog 的 DNS 记录。之后可以把 www 用于 Stillform 静态网站示例。
将 YOUR_DOMAIN 换成自己选定的完整域名。<plan-id>、<execution-id>、<record-id> 等也要换成本次返回的真实值,并去掉尖括号。本文提供操作方法,不代表已经替你购买,也不是固定价格的报价单。
1. 登录并检查已有域名
安装公开版 CLI 后,在终端逐条运行:
nameslink login
nameslink whoami
nameslink doctor
nameslink capabilities --json
nameslink domain list --json
核对账号和 API 地址;公开默认地址为 https://www.nameslink.com/api。如果已有合适且可用的域名,直接跳到 DNS 步骤,不必重新购买。正常域名通常显示 NORMAL;WAIT_EFFECT 或 REDEEM_PERIOD 不能当作已准备可用。托管资格仍需单独检查。
2. 查找并确认一个域名
nameslink domain search stillform --limit 5
nameslink domain check "YOUR_DOMAIN" --json
选择一个可用且允许创建新注册 Plan 的域名。搜索结果可能含交易市场中的在售域名,它们不属于同一条新注册购买流程。搜索和可用性结果中的价格是参考信息,下一步才会取得所选域名的本次报价。
3. 生成并审阅购买计划
nameslink plan "Register my selected domain" --domain "YOUR_DOMAIN" --domain-only --json
nameslink wallet balance --json
--domain-only 将本次计划限定在域名,不会同时发布网站或默默添加其他产品。生成计划本身不会购买域名。
继续前逐项检查:
| 检查内容 | 对应信息 |
|---|---|
| 拼写和后缀 | domain |
| 购买还是复用 | domainMode;REUSE 表示已有域名,不是新注册 |
| 是否为真实注册 | domainRegistrationMode |
| 注册年限 | 域名注册步骤的 steps[].details.registrationYears |
| 币种与总额 | total.currency、total.amount,并与钱包余额核对 |
| 这份计划的身份 | 保存 planId 和 digest |
未指定 --years 时采用注册局当前要求的最短年限。需要其他年限时,先取得并审阅相应报价,再授权。不要拿旧的搜索参考价格作为本次扣款金额。
真实新购买应对应 domainMode=PURCHASE、domainRegistrationMode=LIVE;REUSE 则表示复用已有域名。模式或目标与本意不一致时,先核对账号、API 地址和所选域名,再继续。
4. 确认购买并核实交付
在自己直接操作的交互终端中运行:
nameslink apply <plan-id> --watch
再次检查域名、年限、操作和总额,确实要支付这笔购买时才继续。终端会要求输入 approve 加实际域名;按同一个终端提示完成所需的全部身份验证因素。
缺少注册人资料或余额时,按返回的补全或充值步骤继续原计划,不要重新发起另一笔购买来绕过中断。
保存执行 ID。终端关闭后,可以查看原执行:
nameslink status <execution-id> --watch --json
nameslink events <execution-id> --json
nameslink domain list --json
「请求已接收」或钱包已扣款,都不能单独证明注册成功。等执行显示 state=SUCCEEDED,再检查精确的域名是否已进入当前账号且处于 NORMAL 等可用状态;仍在交付中就继续查看。失败或结果未知时走原执行的恢复路径,不要凭猜测再买一次。
5. 修改解析前先检查 DNS
nameslink dns status "YOUR_DOMAIN" --json
nameslink dns records list "YOUR_DOMAIN" --json
nslookup -type=NS YOUR_DOMAIN
确认 DNS 区域可用,域名实际委派的权威域名服务器也与所用服务一致。如果域名指向另一家 DNS 服务商,仅在这里保存记录不会影响公网查询。
本例使用 blog,给静态托管保留 www。静态托管发布会配置自己需要的记录,不要为该流程随意添加一个 www A 记录。列表中标记 managed: true 的记录归应用管理,在这里仅供查看;不能把观察用的键当成可编辑记录 ID。
6. 添加 blog 记录并验证
下面的 192.0.2.10、192.0.2.20 是文档演示地址,不能用来实际托管网站。执行前必须换成自己的服务器 IPv4 地址。若服务商提供的是 CNAME 目标,请使用它给出的准确记录类型和值。
nameslink dns records add "YOUR_DOMAIN" --name blog --type A --value 192.0.2.10 --ttl 600
本次准备添加的记录是:
| 字段 | 示例 |
|---|---|
| 完整主机名 | blog.YOUR_DOMAIN |
| 类型 | A |
| 记录值 | 自己服务器的 IPv4 地址 |
| TTL | 600 秒 |
核对域名、名称、类型、记录值和 TTL。终端会要求输入 confirm 加实际域名,并可能要求 MFA;按真实提示完成,不要把验证码写进命令参数或 Shell 历史。
CLI 通常会继续等待 DNS 任务。若返回仍在处理的任务,使用返回的状态命令。回执为 TASK 时,命令形式如下;只有回执明确为 BATCH 才相应替换:
nameslink dns operations show TASK <operation-id> --watch --json
nameslink dns records list "YOUR_DOMAIN" --name blog --type A --json
核对匹配记录返回的 id、名称和记录值,再用实际完整主机名查询公网 DNS:
nslookup -type=A blog.YOUR_DOMAIN
任务成功后,递归 DNS 缓存仍可能尚未更新。检查权威委派、返回值和 TTL,不要反复添加同一条记录。DNS 能查到,也不代表服务器或 HTTPS 已准备完成。
7. 修改或删除同一条记录
使用上一步取得的可编辑记录 ID,不能使用任务 ID 或其他域名的记录 ID。每次修改前先查看当前记录:
nameslink dns records show "YOUR_DOMAIN" <record-id> --json
nameslink dns records update "YOUR_DOMAIN" <record-id> --value 192.0.2.20 --ttl 600
nameslink dns records list "YOUR_DOMAIN" --name blog --type A --json
修改仍在处理时,按第 6 步的方法使用本次回执中的状态命令。任务成功后,再运行 nslookup -type=A blog.YOUR_DOMAIN,按之前的 TTL 留出缓存更新时间,并核对新的真实 IP。
演示结束需要清理时,再次核对精确记录。只删除自己准备清理的那一条,确认终端展示的删除操作后,再检查结果:
nameslink dns records show "YOUR_DOMAIN" <record-id> --json
nameslink dns records delete "YOUR_DOMAIN" <record-id>
nameslink dns records list "YOUR_DOMAIN" --name blog --type A --json
等删除任务成功后,确认列表中不再有这条记录 ID,再在相关缓存 TTL 到期后查询公网 DNS。同名下的其他记录仍可能返回结果;删除一条记录,不代表整个名称必须返回 NXDOMAIN。
删除 DNS 记录不代表注销或退款域名注册。
接下来可以继续静态托管示例。域名购买和可用托管资源是不同的检查,是否具备托管资格仍以当前能力检查及域名选择器为准。
通过官方 Skill 操作
在支持 Skill 的工具中安装官方 Skill,再分步交代任务:
先检查我已有的域名。如果需要新域名,列出可用选项,等我选定后取得购买计划。展示精确年限、币种、总额和钱包余额,等我确认才购买。注册成功后,用我提供的服务器 IP 提议添加 blog A 记录;新增、修改、删除解析分别向我确认。
购买自动化的授权绑定返回的 Plan 摘要;DNS 自动化使用自己已审阅的变更和 --yes,两者都不能跳过 MFA。JSON 模式按同一次挑战返回的发送验证码与安全代码文件续接命令处理,见中断恢复。