CNAME拉平是一种DNS解析技术,允许您在根域名(例如example.com
)上使用CNAME记录,而不是传统的A/AAAA记录。正常情况下,CNAME记录不能直接用于根域名,因为DNS规范不允许在根级别的CNAME记录。CNAME拉平通过自动解析CNAME指向的目标IP地址,并将其返回给请求者,从而绕过了这一限制。
前提条件
CNAME拉平只会对代理状态为“仅DNS”的DNS记录生效,对于代理状态为“代理加速”的记录将不会生效(因为代理加速的CNAME拉平会暴露您的源站IP地址)。
功能原理
CNAME拉平前
当终端用户向
www.example.com
发起请求时,首先向Local DNS(本地DNS服务器)发起请求解析域名www.example.com
。本地DNS服务器向权威DNS服务器请求解析域名
www.example.com
。权威DNS返回域名的CNAME记录值
www.example.com.ialicdn.com
。本地DNS服务器向阿里云ESA的DNS调度系统请求解析域名
www.example.com.ialicdn.com
,DNS调度系统将为其分配ESA最佳节点IP地址。本地DNS服务器获取到DNS调度系统返回的ESA最佳节点IP地址。
本地DNS服务器将最佳节点IP地址返回给客户端,用户向最佳节点IP地址发起访问请求。
CNAME拉平后
当终端用户向
www.example.com
发起请求时,首先向Local DNS(本地DNS服务器)发起请求解析域名www.example.com
。本地DNS服务器向权威DNS服务器请求解析域名
www.example.com
。权威DNS服务器直接返回ESA的IP地址。
本地DNS服务器将最佳节点IP地址返回给客户端,用户向最佳节点IP地址发起访问请求。
功能区别
CNAME拉平可以提高DNS解析速度,减少客户端的等待时间。
DNS查询次数:CNAME拉平前需要多次DNS查询,而拉平后只需一次查询就能得到最终IP。
响应速度:CNAME拉平后,由于减少了DNS查询次数,整体解析速度更快。
操作步骤
登录ESA控制台。
在站点管理页面,单击目标站点名称,或对应站点操作列的详情。
在左侧导航栏,选择
。在CNAME拉平区域,单击配置。
CNAME拉平参数
说明
拉平顶级的CNAME
只对顶级域名
example.com
生效,子域名不受影响。说明举例:假设您有一个顶级域名(例如
example.com
),还有一个子域名(例如app.example.com
)。设置为拉平顶级的CNAME后,
example.com
这个域名会通过CNAME记录指向另一个域名(比如target.com
),但子域名app.example.com
不受影响,可能指向另一个IP地址或域名。拉平所有的CNAME
对顶级域名和所有的子域名都生效,所有的域名记录都会指向同一个目标域名。
说明举例:假设您有一个顶级域名(例如
example.com
),还有一个子域名(例如app.example.com
)。设置为拉平所有的CNAME后,
example.com
会自动指向target.com
,子域名app.example.com
也会自动指向target.com
,任何自定义的子域名(如shop.example.com
、blog.example.com
)都会统一指向target.com
。单击确定。