一、引言
域名是网站的门牌号,DNS 是门牌号的「查号台」。很多部署问题——SSL 一直签不下来、CDN 没生效、访问时好时坏——根子都在域名与 DNS 配置。本文拆解域名接入的完整链路:NS 委派、解析记录类型、传播与排错、SSL 签发续期、CDN 接管(NS 托管 vs CNAME)、裸域与子域策略、多区域路由。
二、NS 委派:把域名交给谁解析
2.1 NS 委派是什么
你买的域名在注册商 → NS 记录指向「由谁来回答该域名的解析」
委派给 Cloudflare:域名服务器变为 cf 的 NS(xxx.ns.cloudflare.com)
委派给 Vercel / 自建:指向对应 NS
注册商 → 改 NS 记录(cf-ns1.cloudflare.com / cf-ns2.cloudflare.com)
└── DNS 查询请求 → 交给 cf 的 NS 回答
2.2 委派 vs 只加解析
NS 托管(整个域委派):所有解析都由平台回答
├── 优点:平台能自动管理 SSL、CDN、区域路由
└── 缺点:原来托管方(如注册商)的解析记录要迁移
CNAME 接入(保留原 DNS):
├── 优点:解析仍由原 DNS 管理
└── 缺点:CDN 接管能力弱(部分平台不支持 CNAME 接入)
主流的 Vercel/Cloudflare 部署 → 推荐 NS 托管(能力最全)
心法:NS 托管是「把解析权交给平台」,CNAME 是「只借用一条记录」。要完整 CDN/SSL 能力,NS 托管几乎是必选。
三、解析记录类型:A / AAAA / CNAME / TXT
3.1 各类型用途
| 类型 | 指向 | 用途 |
|---|---|---|
| A | IPv4 地址 | 根域/裸域指向服务器 IP |
| AAAA | IPv6 地址 | 双栈访问 |
| CNAME | 另一个域名 | 子域别名到托管地址 |
| TXT | 任意文本 | 域名验证、SPF、DKIM |
| MX | 邮件服务器 | 邮件路由 |
3.2 典型配置
裸域 example.com → A 记录(或 ALIAS → 平台 CNAME 目标)
www.example.com → CNAME → 平台目标
api.example.com → CNAME → 平台目标
@ 的 TXT 验证 → 平台给的验证码
常见坑:裸域(example.com)不能是 CNAME(DNS 规范限制),平台一般用 ALIAS / A 记录或让你把裸域 NS 托管来解决。这也是「裸域接不上 CDN」的高频原因。
四、SSL 签发与续期
4.1 签发原理
HTTPS = 证书(证明你是 example.com)+ 密钥
签发给你的域名,前提是「你能证明你拥有该域名」:
验证方式一:DNS TXT 记录(在 DNS 放验证码)
验证方式二:HTTP 文件(在网站放验证文件)
4.2 托管平台自动签发
Cloudflare / Vercel:
你把域名 NS 托管 → 平台自动签发并续期证书
├── 全程零干预(Let's Encrypt / 平台托管证书)
├── 裸域 + 子域一起签
└── 到期自动续
4.3 手动签发(Let’s Encrypt)
# certbot 手动签发(DNS 验证)
certbot certonly --manual --preferred-challenges dns \
-d example.com -d www.example.com
# 按提示加 TXT 记录,等待生效后完成签发
| 方式 | 优点 | 缺点 |
|---|---|---|
| 平台托管 | 零干预、自动续 | 依赖平台 |
| Let’s Encrypt | 免费、通用 | 需自己续期 |
| 商业证书 | 兼容性稳 | 付费 |
心法:能 NS 托管就托管,让平台管证书。自己管 Let’s Encrypt 续期,是 90% 的证书过期事故来源。
五、DNS 传播与排错
5.1 传播
改 NS / 解析记录 → 全球 DNS 缓存更新需要时间
├── NS 变更:最慢,可达 24~48h(TTL 缓存)
├── 单条记录:通常几分钟~几小时
└── 调低 TTL 能加速传播
5.2 排错三板斧
# 1. 查 NS 是否生效
dig example.com NS
# 输出应是你委派的 NS
# 2. 查具体记录
dig example.com A # IPv4
dig example.com CNAME # 别名
dig example.com TXT # 验证码
# 3. 查实际解析到的平台
dig +short www.example.com
# → 应指向平台/CNAME 目标,而非旧 IP
SSL 签不下来的排查:
DNS 没生效(TXT 验证码查不到)→ 等传播
证书签发失败 → 看平台提示的验证方式
http 验证失败 → 检查 HTTP 是否可达(防火墙)
铁律:DNS 排错先看 NS,再看记录,再看目标。层级排查,不要上来就怀疑 SSL。
六、CDN 接管域名:两种路径
6.1 NS 托管路径(推荐)
1. 平台添加域名
2. 复制平台的 NS 记录
3. 到注册商改成平台的 NS
4. 等传播 → 平台「域名激活」 → 自动 SSL + CDN
6.2 CNAME 路径
1. 平台添加域名
2. 复制 CNAME 目标
3. 到现有 DNS 加 CNAME(www → 平台目标)
4. 裸域用 ALIAS/A(或看平台支持)
5. 手动验证 + 签发证书(或平台做 CNAME 验证)
| 维度 | NS 托管 | CNAME |
|---|---|---|
| 能力 | 全(SSL/CDN/区域路由) | 部分 |
| 迁移成本 | 迁移解析记录 | 只需加记录 |
| 适合 | 新项目、完整接管 | 已有复杂 DNS 不想动 |
心法:从零开始选 NS 托管;只有「现有 DNS 体系复杂、不想迁移」时才选 CNAME。
七、裸域与子域策略
7.1 裸域 vs www
裸域 example.com(权威、简洁) + www 子域(习惯、兼容)
├── 两个都要指向同一内容(避免「两个不同站」)
└── 推荐:一个为主(裸域),另一个 301 跳转
7.2 子域规划
| 子域 | 用途 | 解析 |
|---|---|---|
| www | 主站 | → 主站 |
| api | 后端 API | → API 服务 |
| static | 静态资源 | → 对象存储/CDN |
| admin | 管理后台 | → 后台(可限制访问) |
| blog | 博客子站 | → 子站 |
心法:子域是「按用途分流的门牌」。同一主站下用子域划分功能域,再配合区域路由(见八)做就近分发。
八、多区域路由与合规
8.1 区域路由
同一域名 → 不同区域解析到不同资源:
├── 中国区 → 国内 CDN/服务器(合规)
├── 海外 → 全球 CDN
└── 按 GeoDNS 返回最近节点
8.2 合规要点
- 域名需备案才可用国内托管(中国大陆)
- 数据驻留:解析到合规区域的服务器
- 证书:各地区都能验证的公开证书
边界:多区域路由是「DNS 层的智能」。它让不同地区的用户自动访问最近/合规的资源,是全球化部署的 DNS 层基础。
九、总结
域名与 DNS 接入是「一次配置、长期依赖」的基础设施:
- NS 托管优先:把解析权交给平台,SSL/CDN/区域路由全解锁。
- 记录按用途加:A 指 IP、CNAME 指平台、TXT 做验证。
- 证书交给平台:托管自动续期,别自己背续期包袱。
- 排错看层级:先 NS、再记录、再目标。
- 裸域与子域规划好:主域统一,功能域按子域分流。
把域名当「上线前的最后一道工序」来做——NS 就位、SSL 通、解析目标对,再谈 CDN 优化与区域路由。相关实践可继续阅读 全球部署与合规 与 源站与缓存策略(域名后的性能与合规层)。
继续阅读
探索更多技术文章
浏览归档,发现更多关于系统设计、工具链和工程实践的内容。