CNAME记录,即Canonical Name Record,直译成中文就是"规范的名称记录",是域名系统(DNS)的一种记录类型,其作用是将一个域名映射到另一个域名。
什么是DNS CNAME记录?
DNS的记录类型有好多种,而CNAME记录通常都是和A记录一起工作的,所以在具体介绍CNAME记录之前先简单的介绍下A记录。
A记录
A记录,也就是Address记录,是一种映射记录,记录的是域名和IP的映射关系。
当我们访问指定的域名时,DNS会通过A记录的配置,解析出域名映射的IP,后续就会直接以这个IP进行访问。
示例(示例数据仅供理解,不具有真实性):
记录类型 域名 记录值
A www.example.com 10.10.10.10
CNAME记录
与A记录相比,CNAME记录保存的是域名和域名的映射关系,可以想象为给一个域名起了一个“外号”,这个“外号”和域名的映射关系就是通过CNAME记录保存的,而CNAME类型的记录值则可以通过A记录来映射到具体的服务器。
示例(示例数据仅供理解,不具有真实性):
记录类型 域名 记录值
CNAME cname1.example.com www.example.com.w.kunlunsl.com
A www.example.com.w.kunlunsl.com 10.10.10.10
当我们访问"cname1.example.com"这个域名的时候,DNS会通过CNAME记录获取到映射值"www.example.com.w.kunlunsl.com",基于"www.example.com.w.kunlunsl.com"的A记录,"cname1.example.com"域名最终也会解析到IP地址"10.10.10.10"。
在DNS的解析记录中,对于同一个主机名,A记录和CNAME记录是相互冲突的,两者不能同时存在。
DNS CNAME的优势
快速实现服务器IP的更新
当服务器的IP地址发生了变化(从10.10.10.10变为10.10.10.1),只需要把A记录对应的记录值修改成新的IP(10.10.10.1),与A记录的域名存在映射关系的三个CNAME记录无需任何改动,就能实现三个域名最终指向新的服务器IP的效果。
示例(示例数据仅供理解,不具有真实性):
服务器IP修改前:
记录类型 域名 记录值
CNAME cname1.example.com www.example.com
CNAME cname2.example.com www.example.com
CNAME cname3.example.com www.example.com
A www.example.com 10.10.10.10
服务器IP修改后:
记录类型 域名 记录值
CNAME cname1.example.com www.example.com
CNAME cname2.example.com www.example.com
CNAME cname3.example.com www.example.com
A www.example.com 10.10.10.1
结合阿里云CDN实现静态资源的加速和分发,提高资源访问速度
阿里云内容分发网络CDN(Content Delivery Network)是建立并覆盖在承载网之上,由遍布全球的边缘节点服务器群组成的分布式网络。阿里云CDN能分担源站压力,避免网络拥塞,确保在不同区域、不同场景下加速网站内容的分发,提高资源访问速度。详情参考什么是阿里云CDN。
在第三步中,云解析DNS返回的CNAME记录值即为CDN为该域名分配的CNAME域名,通过"www.example.com.cname.com"可以访问CDN的调度中心,CDN的调度中心会根据请求用户的信息为其分配最优的CDN节点,用户访问该节点从而达到加速访问的效果。