摘要:談談域名DNS的緩存問題
可以從很多地方看到,許多剛開始做站的朋友,對域名設置方面的知識原理一知半解,以至于爲了某些測試需要,經常對域名解析大動幹戈。今天改個A記錄,明天又換個NS。又或者,在遷移域名,遷移網站的時候的時候由于一些錯誤的操作,導致本可避免的問題,在不恰當的操作下就出現了問題。
域名解析不像空間綁定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的站長,也包括本站(從昨天的域名無法解析談到Godaddy域名DNS。),不得已又紛紛將DNS轉回國內。大部分個人站長將域名DNS轉移到國內一家提供免費DNS的服務商“DNSPOD”那裏。
這裏就有一個修改域名NS記錄(即域名DNS服務器)的問題,相比域名解析而言,修改域名NS,生效過程是很漫長的,要世界各地全部生效,可能會慢到72小時以內。
在修改域名DNS的時候,域名舊控制面板上的各項解析記錄不要立即刪除,以保證新舊DNS交替的時候保證域名解析的平衡過渡,不會中斷解析。但對于舊域名DNS必須全部刪除,以免發生解析混亂的現象。
而域名TTL,即域名記錄生效期,建議00以上,不宜過長,也不易過短,過長會導致域名解析生效時間長,過短會加重DNS負擔,致使解析不穩定。