谈谈域名DNS的缓存问题
域名解析不像空间绑定IP那样,能够即时生效,即时失效。
每一个域名,在服务商那边都有一个DNS服务器,作用是把利于用户记忆的域名转换成计算机方便理解的IP地址,在域名管理中,其中一项就记录着你的域名指向,术语叫A记录,用于指向一个IP地址。
但全世界的人们通过互联网访问你的网站时,会通过域名寻址,访问你的域名服务商的DNS服务器,获得你指定的IP地址。然后成功登陆你的网站。
但是并不是每次访问你的网站,都会去你的服务商DNS服务器查询IP地址。通常你所在的城市ISP(网络服务提供商)都会有一个DNS服务器,他会在你第一次访问时缓存你的域名指向。下次你再访问时,他会从缓存里把你曾经指向的IP调出来。
这个时候,问题就来了。如果你在服务商后台重新指向了一个新的IP。而各个城市的DNS服务器并不知情,那么用户访问你的网站时,还会访问到过去的老IP,导致网站无法打开。通常各地的DNS服务器,会在一段时间内重新寻址,定位你的新IP地址。
可惜的是,各地DNS刷新的时间都是未知的,有的快,有得慢。当然,如果服务商的DNS服务器不好,无法提供及时的同步,也会导致域名无法解析到新的IP地址。这就是为什么有的服务商域名注册特别便宜,而有得就比较贵的原因之一。
就域名普通解析操作来说,在你域名DNS服务器比较正常的话,添加新的解析记录,生效时间是1小时以内。修改解析记录,生效时间是6小时内,总体来说,一般不会超过12小时。
近段时间,由于Godaddy的域名DNS在国内个别地区,频遭相关运营商的屏蔽,造成这些地区无法访问网站。一些使用Godaddy域名DNS的站长,也包括本站,不得已又纷纷将DNS转回国内。大部分个人站长将域名DNS转移到国内一家提供免费DNS的服务商“DNSPOD”那里。
这里就有一个修改域名NS记录(即域名DNS服务器)的问题,相比域名解析而言,修改域名NS,生效过程是很漫长的,要世界各地全部生效,可能会慢到72小时以内。
在修改域名DNS的时候,域名旧控制面板上的各项解析记录不要立即删除,以保证新旧DNS交替的时候保证域名解析的平衡过渡,不会中断解析。但对于旧域名DNS必须全部删除,以免发生解析混乱的现象。
而域名TTL,即域名记录生效期,建议600以上,不宜过长,也不易过短,过长会导致域名解析生效时间长,过短会加重DNS负担,致使解析不稳定。