cname 回源

发布时间 2024-01-02 21:06:56作者: codestacklinuxer

CNAME
为什么要区分A记录和CNAME?我们可以把CNAME记录叫做别名记录,就是小名

比如A记录为:
www.baidu.com → 111.111.111.111

那么可能有多个CNAME记录
www.100fen.com → www.baidu.com
www.baifen.com → www.baidu.com

所以大概理解了吧,CNAME就是你主域名A记录的小名

CNAME指向A记录,A记录指向具体的IP地址。

一个网址可以有多个CNAME,可以理解为就是域名转发

CNAME 记录

CNAME 记录是指域名解析中的别名记录(Canonical Name)。 例如,有一台服务器名为host.example.com,它同时提供 WWW 和 MAIL 服务,为了方便用户访问服务。这台服务器可以在 DNS 解析服务商分别添加www.example.commail.example.com两个 CNAME,所有访问这两个 CNAME 的请求都会被转到host.example.com

CNAME 域名

CNAME 域名(CNAME domain name)在腾讯云 ECDN 控制台接入加速域名后,系统会为加速域名分配一个“CNAME 域名”(域名后缀为:.ecdn.dnsv1.com)。用户需要在域名服务商处,添加一条 CNAME 记录,记录生效后,域名解析的工作就正式转向腾讯云 ECDN,该域名所有的请求都将转向腾讯云 ECDN 的节点。 下图描述了 源站域名/IP加速域名CNAME 域名,三者在用户发起一次请求到达源站过程中出现的次序:  用户访问加速域名,域名被解析到加速节点的 CNAME 域名上,经过腾讯云 ECDN 网络加速后到达源站。

源站域名

源站域名(domain name of origin server)即客户的业务服务器的域名。

加速域名

加速域名(accelerated domain name)区别于源站域名(domain name of origin server),是您提供给 ECDN 加速节点进行 CNAME 的域名。

!源站域名不能与加速域名相同。

源站 IP

源站 IP(IP of origin server)即客户的业务服务器的 IP 地址。

源站地址
顾名思义,就是用户的源站主机地址。

当选择自建源时,源站地址也有两种类型:域名(一个)和IP地址(可多个),并且都支持端口。  
  源站地址填写为域名最大的好处是,当你的源站拥有多个运营商的IP,例如source.baidu.com有三个A记录,分别是100.100.100.100(电信)、101.101.101.101(联通)、102.102.102.102(移动),那么当CDN回源时,会根据用户的来源运营商选择对应的A记录。当访问者为电信用户,回源时则会选择100.100.100.100(电信)来回源,这样就可以避免跨运营商回源,造成回源延迟等问题。

注意:如果源站地址填写为域名时,此域名的作用仅仅是用于DNS解析,例如source.baidu.com对应的A记录为100.100.100.100,那最终源站地址则是100.100.100.100。

建议:能选择源站地址为域名最好是选择为域名。

回源host

回源host也可以说是回源域名,比如源站拥有多个站点:bbs.baidu.com、blog.baidu.com、api.baidu.com,那回源host就是指定到哪个站点上获取资源,具体详情参考以下几个示例。

  • 源站类型:自建源

  • 源站地址:115.115.115.115

  • 回源host:blog.baidu.com

当CDN回源时,会到115.115.115.115这台主机上的blog.baidu.com站点拉取资源。

 

DNS和CDN整体流程的总结
比如我们请求 www.baidu.com 域名

  • 首先,浏览器会从自身的DNS缓存中去查找(chrome://net-internals/#dns),如果没有则进行下一步
  • 然后,浏览器会先从操作系统里的DNS缓存中找,windows系统中,命令行 ipconfig/displaydns 查看,linux上的NSCD缓存服务;如果没有则进行下一步
  • 从计算机host文件里找;如果没有则进行下一步
  • 请求本地域名服务器(可以认为是 阿里云等域名供应商),
    发现阿里云里面有进行过配置,CNMAE记录: www.baidu.com → cdn.baidu.com ,所以此时告诉浏览器转为请求 cdn.baidu.com

此时,浏览器转为请求cdn.baidu.com ,上面的1-3步还得再来一遍。

1-3步骤重复

  • 请求本地域名服务器(可以认为是 阿里云等域名供应商),发现阿里云里面有进行过配置,A记录:cdn.baidu.com → 222.222.222.222 ,然后就把 IP 222.222.222.222 返回给浏览器。
  • 浏览器得到了IP地址,注意这个IP地址,实际上是CDN负载均衡服务器的地址。继续请求这个地址
  • 请求进入到了CDN负载均衡服务器后,服务器会根据算法策略等,返回一个最合适的文件缓存服务器IP地址,至于怎么选择合适的,看下面的优化
  • 浏览器访问文件缓存服务器IP地址,最后得到文件资源

比如解析test.baidu.com. ,是具体怎么解析成IP地址的呢?可以形容为,从右向左

. -> .com -> baidu.com. -> test.baidu.com

(1)请求根域名服务器,带着 test.baidu.com. ,根域名服务器发现是 .com 结尾,然后告诉你,我只知道 com顶级域名服务器 的IP地址,你去问问它试试

(2)然后浏览器就向 com顶级域名服务器 请求,带着 test.baidu.com. ,com顶级域名服务器 只知道 baidu.com. 所在的服务器地址,并不知道 test. 是啥(因为test.这二级域名,只有百度自己知道啊,因为是百度自己设定的,就像crm.credit.cn,是不是只有公司才知道crm是个啥?)。。。所以 com顶级域名服务器 会告诉你,我只知道baidu.com. 所在的IP地址,你去问问它把(百度公司的web服务器)

(3)然后就向 "百度公司域名服务器" 请求,带着 test.baidu.com. ,百度公司自己肯定知道 test 是个啥,所以百度公司,就把最后真正的IP地址,返回给浏览器,到此,迭代查询完成了

 

  加速域名为:www.baidu.com,源站地址填写为域名:source.baidu.com,并且此域名拥有三个IP:100.100.100.100(电信)、101.101.101.101(联通)、102.102.102.102(移动),回源host为blog.baidu.com。

问题一:请将回源步骤描述下。

问题二:当访问者是联通用户时,请将回源步骤描述下。

问题三:当源站不存在blog.baidu.com站点时,请将回源步骤描述下。

问题四:当访问者是教育网用户时,请将回源步骤描述下。


问题一:
先将source.baidu.com域名做DNS解析,得到具体的IP地址(100.100.100.100)。
CDN使用回源host(blog.baidu.com)到100.100.100.100这台主机上拉取blog.baidu.com站点的资源。
blog.baidu.com站点返回资源给CDN。
回源流程:访问者(www.baidu.com) -> CDN(回源) -> blog.baidu.com(100.100.100.100) -> CDN(返回资源) -> 访问者(获取资源)

问题二:
先将source.baidu.com域名做DNS解析,得到101.101.101.101(CDN会帮其选择最优的IP,因为访问者是联通用户,当然是到联通IP回源更好,这样就不会出现跨运营商问题)。
CDN使用回源host(blog.baidu.com)到101.101.101.101这台主机上拉取blog.baidu.com站点的资源。
blog.baidu.com站点返回资源给CDN。
回源流程:访问者(www.baidu.com) -> CDN(回源) -> blog.baidu.com(101.101.101.101) -> CDN(返回资源) -> 访问者(获取资源)

问题三:
先将source.baidu.com域名做DNS解析,得到具体的IP地址(100.100.100.100)。
CDN使用回源host(blog.baidu.com)到100.100.100.100这台主机上拉取默认站点的资源。
100.100.100.100这台主机的默认站点返回资源给CDN。
回源流程:访问者(www.baidu.com) -> CDN(回源) -> blog.baidu.com(100.100.100.100) -> CDN(返回资源) -> 访问者(获取资源)

问题四:
先将source.baidu.com域名做DNS解析,得到具体的IP地址102.102.102.102(因为源站没有合适对应的教育网运营商IP,所以CDN会自动帮其选择最优的IP,至于哪个是最优的就无法直接断定了,交由CDN判断)。
CDN使用回源host(blog.baidu.com)到102.102.102.102这台主机上拉取默认站点的资源。
blog.baidu.com站点返回资源给CDN。
回源流程:访问者(www.baidu.com) -> CDN(回源) -> blog.baidu.com(102.102.102.102) -> CDN(返回资源) -> 访问者(获取资源)

六、结论总结

加速域名为用户接入的CDN域名。
源站地址为用户的源站,当源站地址为域名时,此域名仅用于做DNS解析。
当源站拥有多个站点,回源时则选择回源host指定站点拉取资源。
当源站不存在回源host域名时,则到源站的默认站点拉取资源。

当前产品使用cname

1. CNAME 使用cname 回源访问原始域名

若用户希望使用原有域名访问,不使用云枢平台自动生成的映射域名,可通过开启CNAME功能,将原应用地址解析地址指向云枢自动生成的映射域名,同时填写该域名的内网解析地址以及SSL证书
使用案例:
  某一个内部应用地址为oa.com,完成应用配置后,云枢平台自动生成映射域名为oa.pre.sase.com。原本访问oa.com网站,需要用户登入企业门户访问oa.pre.sase1.com,若开启CNAME模式,您只需添加一条CNAME记录,自动将oa.com指向oa.pre.eaglesase1.com,用户将使用原域名进行安全访问,即能成功访问oa.com。
使用此功能,在不改变终端用户原来的访问习惯(用户无需记忆新的域名),同时实现了基于身份进行精细化内网访问控制的能力,提升访问安全性和可靠性。