关于七牛DNS解析过程详解

1,配置篇
1,申请自定义域名
进入融合cdn加速--》创建域名--》填写信息-》点击创建--》
等待审核--》审核通过后七牛返回cname地址--》
在域名购买商后台配置cname记录--》配置完成

2,测试技巧
因为配置cname记录的时候,如果七牛的配置没有生效,那么cname过去后可能无法正常解析到ip地址进行访问服务,那么就需要进行提前绑

定测试。
用户可以修改本地的host 地址进行本地访问测试,测试流程为:

1,dig 七牛的cname地址得到解析ip
2,本地修改你的host文件:域名 ip
3,使用域名+Path的方式测试资源是否能够正常访问
4
2,解析篇
1,浏览器dns解析
当用户在浏览器中输入域名并按下回车键后,第1步,浏览器会检查缓存中有没有这个域名对应的解析过的IP地址,如果缓存中有,这个解析

过程就将结束。浏览器缓存域名也是有限制的,不仅浏览器缓存大小有限制,而且缓存的时间也有限制,通常情况下为几分钟到几小时不等

,域名被缓存的时间限制可以通过TTL属性来设置。这个缓存时间太长和太短都不好,如果缓存时间太长,一旦域名被解析到的IP有变化,会

导致被客户端缓存的域名无法解析到变化后的IP地址,以致该域名不能正常解析,这段时间内有可能会有一部分用户无法访问网站。如果时

间设置太短,会导致用户每次访问网站都要重新解析一次域名。

2,操作系统解析
如果用户的浏览器缓存中没有,浏览器会查找操作系统缓存中是否有这个域名对应的DNS解析结果。其实操作系统也会有一个域名解析的过程

,在Windows中可以通过C:\Windows\System32\drivers\etc\hosts文件来设置,你可以将任何域名解析到任何能够访问的IP地址。如果你在

这里指定了一个域名对应的IP地址,那么浏览器会首先使用这个IP地址。
例如,我们在测试时可以将一个域名解析到一台测试服务器上,这样不用修改任何代码就能测试到单独服务器上的代码的业务逻辑是否正确

。正是因为有这种本地DNS解析的规程,所以黑客就有可能通过修改你的域名解析来把特定的域名解析到它指定的IP地址上,导致这些域名被

劫持。

在Linux中这个配置文件是/etc/named.conf,修改这个文件可以达到同样的目的,当解析到这个配置文件中的某个域名时,操作系统会在缓

存中缓存这个解析结果,缓存的时间同样是受这个域名的失效时间和缓存的空间大小控制的。

3,DNS服务器解析
如何、怎么知道域名服务器呢?在我们的网络配置中都会有”DNS服务器地址”这一项,这个地址就用于解决前面所说的如果两个过程无法解

析时要怎么办,操作系统会把这个域名发送给这里设置的LDNS,也就是本地区的域名服务器。这个DNS通常都提供给你本地互联网接入的一个

DNS解析服务,例如你是在学校接入互联网,那么你的DNS服务器肯定在你的学校,如果你是在一个小区接入互联网的,那这个DNS就是提供给

你接入互联网的应用提供商,即电信或者联通,也就是通常所说的SPA,那么这个DNS通常也会在你所在城市的某个角落,通常不会很远。在

Windows下可以通过ipconfig查询这个地址。

这个专门的域名解析服务器性能都会很好,它们一般都会缓存域名解析结果,当然缓存时间是受域名的失效时间控制的,一般缓存空间不是

影响域名失效的主要因素。大约80%的域名解析都到这里就已经完成了,所以LDNS(Local DNS Server)主要承担了域名的解析工作。

如果LDNS仍然没有命中,就直接到Root Server(根域名服务器)域名服务器请求解析。

根域名服务器返回给本地域名服务器LDNS(Local DNS Server)一个所查询域的主域名服务器(gTLD Server)地址。gTLD是国际顶级域名服

务器,如.com、.cn、.org等,全球只有13台左右。

本地域名服务器(Local DNS Server)再向gTLD服务器发送请求。

接受请求的gTLD服务器查找并返回此域名对应的Name Server域名服务器的地址,这个Name Server通常就是你注册的域名服务器,例如你在

某个域名服务提供商申请的域名,那么这个域名解析任务就由这个域名提供商的服务器来完成。

本地域名服务器(Local DNS Server)发请求给Name Server域名服务器,Name Server域名服务器会查询存储的域名和IP的映射关系表,正

常情况下都根据域名得到目标IP记录,连同一个TTL值返回给Local DNS Server。返回该域名对应的IP和TTL值,Local DNS Server会缓存这

个域名和IP的对应关系,缓存的时间由TTL值控制。

Local DNS Server把解析的结果返回给用户,用户根据TTL值缓存在本地系统缓存中,域名解析过程结束。

在实际的DNS解析过程中,可能还不止这10个步骤,如Name Server也可能有多级,或者有一个GTM来负载均衡控制,这都有可能会影响域名解

析的过程。

陕西弈聪软件信息技术股份有限公司
电话:13679229477    02989322522
陕西省西安航天基地神州四路科为城墅20栋4301