外观
3.2 CNAME 记录配置
约 724 字
DNS域名
本页对应「三、操作步骤」的 3.2,完成 CNAME 记录配置。返回上级:域名解析配置步骤。
前置条件
- 3.1 已完成,www.example.com 可正常解析到 203.0.113.10。
- 已确定 CNAME 的目标域名,目标自身必须能独立解析出 A 记录,不能是另一个待建立的别名。
- 目标主机名下不存在 MX、TXT 等需要保持的记录,否则 CNAME 会与其冲突。
- 已知该子域在 Nginx 中是否已配置 server_name,未配置时解析成功也会返回 404。
操作步骤
- 先验证目标域名可解析。建立指向失效地址的别名,排错成本远高于多执行一条命令。
dig +short A www.example.com
dig +short A cdn.example.com在解析控制台新增 CNAME 记录:主机记录填
docs,类型选 CNAME,记录值填www.example.com,TTL 600。若控制台要求结尾加点,填www.example.com.,两种写法按控制台提示统一,不要一条记录两种风格。在记录列表中确认
docs下仅有这一条 CNAME,没有并存的 A、AAAA 或 TXT 记录。并存时权威服务器会返回冲突或只下发其中一条。查询 CNAME 链与最终地址,确认解析可以走通两层。第二层的 A 记录来自目标域名,不是 CNAME 自身。
dig docs.example.com CNAME +short
dig docs.example.com A +short
dig +trace docs.example.com A- 验证 HTTP 层是否可达。解析正确但 server_name 未包含该子域时,返回的会是默认站点内容。
curl -sSI http://docs.example.com | head -n 3结果确认
dig CNAME返回www.example.com.,dig A返回 www 对应的 203.0.113.10,两层都能查到。dig +trace输出中先出现 CNAME 应答,再出现目标域名的 A 应答,链路完整无中断。curl -I返回 200 或 301,不返回 404 默认页,说明 Nginx 已识别该子域。- 控制台记录列表中该主机名只有一条 CNAME 记录,无其他类型并存。
- 对比
curl -sS http://docs.example.com与curl -sS http://www.example.com的内容,两者应一致。
注意事项
- 根域 example.com 不能配置 CNAME,只能使用 A/AAAA 或厂商的别名类型,这是协议限制而非控制台限制。
- 不要构造过长的 CNAME 链,每多一层都会增加首次解析的往返次数,链路过长还会触发部分解析器放弃。
- 删除旧记录前先确认新记录已生效;两者可短暂并存,但不能同名同类型冲突,冲突会导致保存失败。
- 指向第三方服务时,对方域名变更会导致本站解析失效,需把该域名纳入变更通知与监控范围。
- CNAME 的 TTL 应与目标域名保持一致,否则会出现“目标已切换、本站仍指向旧缓存”的时间差。