CNAME 记录详解
更新于 2026年7月23日
适用人群:需要接入CDN、SaaS平台或多服务托管的站长
核心概念
CNAME记录是什么
CNAME(Canonical Name,别名记录)让一个域名指向另一个域名,而不是直接指向IP地址。DNS查询时会先解析出目标域名,再由目标域名继续解析出最终IP,相当于多加了一层“转发”。
典型使用场景
- 接入CDN:CDN服务商通常要求把域名CNAME到一个由他们分配的域名(如 xxx.cdn-provider.com),由CDN内部按线路智能调度到最近节点,无需你关心具体IP。
- 接入SaaS/云平台:如把自定义域名绑定到某建站平台、对象存储静态站点等,平台也常要求配置CNAME。
- 子域跳转:让 www.example.com CNAME 到 example.com,统一维护一份A记录即可。
重要限制:CNAME不能与其他记录共存
DNS规范规定,某个主机名一旦设置了CNAME记录,就不能在同一名字下再设置其他任何类型的记录(包括MX、TXT等)。这也是为什么根域名(@)通常不建议直接用CNAME——因为根域名往往还需要MX(收邮件)、TXT(SPF等)记录,二者会冲突。绝大多数DNS服务商在提交时会直接校验拦截这种冲突。
操作步骤
步骤 1从目标服务商获取CNAME目标值
登录CDN/云平台后台,找到“自定义域名接入”相关页面,获取要求你配置的CNAME目标域名。
步骤 2登录DNS解析后台新增CNAME记录
主机记录填子域前缀(如www或cdn),类型选CNAME,记录值填第一步获取的目标域名(注意大多数服务商要求以点结尾或系统会自动补全)。
步骤 3确认没有冲突记录
检查该主机名下是否已存在A、MX、TXT等其他记录,如有需先删除,否则CNAME无法生效。
步骤 4保存并等待生效
保存后等待TTL过期,全网解析更新为新的CNAME指向。
步骤 5回目标平台验证接入状态
在CDN/云平台后台查看域名验证状态,通常会自动检测CNAME是否配置正确并显示“已生效”。
实际示例
主机记录: www 类型: CNAME 记录值: www.example.com.cdnprovider.net.
主机记录: cdn 类型: CNAME 记录值: d111111abcdef8.cloudfront.net.
以上分别是把www子域接入某CDN服务商、把cdn子域接入某CDN平台的典型配置示例(目标值以实际服务商提供的为准)。
常见错误
- ⚠️在已经配置了MX或TXT记录的主机名(尤其是根域名@)上又尝试添加CNAME,导致保存失败或记录冲突
- ⚠️把CDN/平台提供的CNAME目标值抄错一个字符,或漏掉结尾的点,造成解析不生效
- ⚠️以为CNAME和A记录效果完全一样随意互换,忽略了CNAME目标IP变化时会自动跟随、A记录则不会的关键差异
对应工具
常见问题
根域名(不带www的裸域)可以设置CNAME吗?
标准DNS规范不允许,因为根域名往往还需要MX、TXT等记录会与CNAME冲突。如果确实需要根域名接入CDN等服务,可使用支持商提供的CNAME展开(CNAME Flattening)或ALIAS/ANAME等厂商扩展功能。
配置CNAME后网站访问变慢了,是不是CNAME的问题?
CNAME本身只是多一次域名解析查询,通常在毫秒级,不会造成明显延迟;如果访问变慢,更可能是目标CDN节点调度、目标服务器性能等问题,建议结合DNS查询工具分步排查。
相关教程
官方资料来源