CNAME 別名記錄


當我們在地址欄輸入:www.baidu.com 的時候,我們的電腦會通過DNS系統去解析這個域名,並獲得IP地址。

  DNS(Domain Name System[域名系統]),萬維網上作為域名和IP地址相互映射的一個[分布式數據庫]能夠使用戶更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP數串。

在這個解析的過程中還會涉及到域名指向的設置。

  我們知道域名是有頂級域名(baidu.com),二級域名(www.baidu.com)之分的,當多個域名都指向一個網站服務器上時,需要將這些子域名(頂級域名下面的二級域名、三級域名都稱之為子域名)設置並指向自己的網站服務器上的,這個動作一般稱之為A記錄,又稱IP指向。

  A (Address) 記錄是用來指定域名對應的IP地址記錄(將一個域名指向一個ip)。

說到這里實際上就會產生一個問題,就是當服務器需要更換時,這些原本指向這台服務器的域名就需要重新設置,並指向新的服務器,這樣就會產生比較大的工作量。說到這我們就要來說下CNAME。

 

CNAME

  CNAME:即別名記錄。這種記錄允許您將多個域名映射到另外一個域名。

簡單來說,A記錄就是把一個域名解析到一個IP地址,而CNAME記錄就是把域名解析到另外一個域名

比如www.baidu.com,這個二級域名解析到的是一個服務器的IP地址,比如8.8.8.8,而CNAME是將新域名,比如:a.www.baidu.com解析到另外一個域名,比如:www.baidu.com。

當新域名產生后都指向CNAME域名后,在發生服務器需要更換或者遷移時,就只需要把www.baidu.com這個域名做重新設置就可以了,這樣就減少了很多工作量。

當您擁有多個域名需要指向同一服務器IP,此時您就可以將一個域名做A記錄指向服務器IP,然后將其他的域名做別名(即CNAME)到A記錄的域名上;那么當您的服務器IP地址變更時,您就可以不必對一個一個域名做更改指向了,只需要更改A記錄的那個域名到服務器新IP上,其他做別名(即CNAME)的那些域名的指向將自動更改到新的IP地址上(以上操作均需要在DNS處執行)。

如圖中所示,如果ip地址(8.8.8.8)改變,普通的dns的每個服務器指向都要便,使用了cname記錄后,只需改變baidu.com的指向。

CNAME在CDN中的應用

CNAME的應用還遠不止於此,在CDN(內容分發網絡)上也是不可缺少的一環。

CDN的主要功能是將原本離用戶比較遠的源站服務器,通過豐富的節點(緩存服務器)放到離用戶最近的地方,實現用戶對互聯網上資源的快速訪問。這個快速訪問的過程就需要CNAME的參與。

原理是這樣的:

用戶向瀏覽器提供要訪問的域名,瀏覽器對域名進行解析,由於 CDN 參與后,對域名解析過程進行了調整,解析的結果不再一個IP地址,而是該域名對應的 CNAME 。

但 CNAME 無法完成最終內容的獲取,所以,瀏覽器需要再次對獲得的 CNAME 進行解析,以得到實際的 IP 地址。在此過程中,CDN會根據用戶的實際地理位置信息解析對應的 IP 地址,使得用戶能就近訪問。

這個過程中, CNAME的主要作用是配合CDN的負載均衡系統將CNAME背后對應的節點IP分配給不同的用戶去訪問。

總的來講, CNAME提供了單一服務器和海量服務器的在管理
訪問上的靈活性。單一服務器的場景下,通過將大量子域名指向到CNAME,再由 CNAME 指向到單一域名,解決了服務器更換、遷移帶來的大量域名重新指向的問題。

另一方面,CNAME配合負載均衡系統,還可以實現將大量訪問需求通過CNAME指向到多台服務器,以提高用戶訪問的速度。



轉載自: 諾曼底的救贖
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM