秒懂邊緣云 | CDN解析配置

上個章節(jié)中我們學習了如何根據(jù)業(yè)務(wù)情況添加CDN域名并配置源站,但在添加完成后,域名尚未真正接入CDN服務(wù)。因此我們還需要將域名解析到特定的CNAME記錄上,才能使得終端用戶請求時,用戶的DNS解析域名能通過CDN智能調(diào)度系統(tǒng)訪問到自身周邊的CDN加速節(jié)點。
在本章節(jié),我們將繼續(xù)為您介紹「CDN域名的解析配置」。
1. 已創(chuàng)建完成的CDN域名。
2. 登錄域名所托管的DNS后臺,默認情況下,DNS后臺即是您購買域名的廠商對應(yīng)控制臺。
根據(jù)您業(yè)務(wù)情況的不同,我們將域名解析添加分為兩種情況:
情況一:該加速域名當前已在業(yè)務(wù)中使用,需要將域名及業(yè)務(wù)遷移到CDN上提供服務(wù),例如需要遷移CDN的是您線上已對外服務(wù)的www首頁域名。
情況二:該加速域名當前并未在業(yè)務(wù)上用于對外,調(diào)整解析時不會影響線上業(yè)務(wù),普遍為加速域名和原服務(wù)域名不相同的情況。
提示:本文及后續(xù)提到的加速域名是否被使用,均指該獨立域名或獨立子域名,例如:線上有 example.com 和 www.example.com 域名正在提供服務(wù),但線上并未使用過子域名 cdn.example.com 對外服務(wù),則視為加速域名 cdn.example.com 并未在業(yè)務(wù)中對外服務(wù)。
我們將CDN接入解析的過程分為三個步驟:
步驟一:灰度驗證服務(wù)可用性(可選)
步驟二:操作CNAME配置
步驟三:檢查解析配置是否生效(可選)
如果您是情況一(加速域名正在使用中)推薦您先按照【步驟一】,再執(zhí)行【步驟二】,來確保線上業(yè)務(wù)的平滑遷移。
如果您是情況二(加速域名未在線上使用中)可以忽略【步驟一】,跳轉(zhuǎn)【步驟二】。
操作流程如圖所示,接下來將對每個步驟進行詳細介紹:

在CDN域名配置完成后,我們可以在本機將域名靜態(tài)解析到某個CDN節(jié)點上,用于驗收經(jīng)過CDN加速后,業(yè)務(wù)是否正常服務(wù),網(wǎng)站加載狀態(tài)是否正常。
例如當您源站配置有誤時,或者當您業(yè)務(wù)中需要 https 訪問但添加域名后未配置證書時,灰度驗證將幫助您發(fā)現(xiàn)業(yè)務(wù)加載異常的問題。
1. 前往阿里云CDN控制臺的域名管理列表,復制加速域名對應(yīng)的CNAME記錄值。

2. 獲取CNAME對應(yīng)的IP地址。(注意:以下通過ping命令得到的IP地址僅作為參考,實際以ping您的真實CNAME地址得到的IP地址為準。)
Windows系統(tǒng):打開終端命令窗口,在命令行中ping CNAME地址,得到ping的IP地址。

Mac 系統(tǒng):打開終端命令窗口,在命令行中dig CNAME地址,得到dig的IP地址。

1. 在本步驟中,我們需要在您的本地電腦綁定hosts文件,用于將訪問域名解析到某個特定IP上。
2. 您需要將步驟2得到的IP地址和加速域名綁定到電腦本地hosts文件中,綁定順序為IP地址在前,加速域名在后,順序不能顛倒。
3. 本文以加速域名為 example.com ,生成的CNAME地址為? example.com.w.kunlunsl.com?,ping example.com.w.kunlunsl.com 得到IP地址為 192.168.0.1 為例,為您介紹綁定方法。
Windows系統(tǒng):文件路徑位置為C:\Windows\System32\drivers\etc\hosts,下圖為綁定成功的示例圖。

Mac系統(tǒng):文件路徑位置為訪達>文件夾>/etc/hosts,下圖為綁定成功的示例圖。

1. 綁定解析后,您可以在瀏覽器中訪問該域名下的站點內(nèi)容,或者驗證某個資源是否可以正常訪問。
2. 如果您不確定hosts文件是否配置正確,您可以打開瀏覽器,訪問域名下的資源,通過瀏覽器自帶的開發(fā)者工具(chrome右鍵-檢查-network)查看服務(wù)端的響應(yīng)IP地址。
如果Remote Address后的IP和您在hosts文件中綁定的IP一致,表示配置正確,您可以在域名解析服務(wù)商處配置CNAME。

如果Remote Address后的IP和您在hosts文件中綁定的IP不一致,表示配置不正確,您需要檢查hosts文件中綁定的IP地址是否正確,確保該IP地址是CNAME地址的IP。
成功訪問加速域名后,如果您需要驗證其它功能,可在電腦本地進行相應(yīng)的驗證,驗證CDN加速后訪問符合預期后,再操作步驟二。
操作步驟二時,默認您已知悉并參考步驟一完成了灰度測試,或者,您添加的加速域名當前未在業(yè)務(wù)中對外服務(wù)。
配置時,我們需要
1. 前往阿里云CDN控制臺的域名管理列表,復制加速域名對應(yīng)的CNAME記錄值。

2. 打開您購買域名的廠商對應(yīng)控制臺,找到配置解析的位置。

3. 點擊添加記錄后,需要填寫的內(nèi)容如下:

選擇記錄類型為CNAME
填寫主機記錄:
? ? ? 主機記錄中僅需填寫 加速域名去除主域名部分后的前綴即可,注意您例如:
當您需要對 cdn.example.com 加速時 :主機記錄填寫其前綴 cdn 即可。
當您需要對 video.cdn.example.com 加速時 :主機記錄填寫其前綴 video.cdn 即可。
當您需要對主域名 example.com 加速時 : 主機記錄需要填寫 @ 符號。
當您需要對泛域名 *.example.com 加速時 : 主機記錄需要填寫 * 符號(僅限CDN域名創(chuàng)建時,域名中填寫的是泛域名 *.example.com 場景,如果您添加的是特定域名,請參考前3種配置示例)。
填寫記錄值:將您在CDN控制臺上復制加速域名對應(yīng)的CNAME記錄值拷貝即可。
其他配置(解析線路/TTL)默認即可,您可以不做修改。
填寫完畢后點擊確認即可
如果提交成功,您可以等待10分鐘左右,待DNS解析生效后參考步驟三驗證是否CDN加速成功。
如果提交時報錯“解析記錄沖突”(例如A記錄沖突或MX記錄沖突),您需要參考下文中的解析沖突處理進行操作。
常見廠商及CNAME配置方法您也可以參考產(chǎn)品文檔說明:https://help.aliyun.com/document_detail/27144.html
解析沖突一般是指該域名之前已經(jīng)被指向某個位置,如果再添加CNAME記錄會導致前后沖突,DNS無法判斷域名最終應(yīng)該訪問到哪里,常見的沖突類型為A記錄或MX記錄:
A記錄沖突(常見):該域名已經(jīng)被解析到某個源站IP地址上,例如之前的架構(gòu)是用戶直接訪問源站,后續(xù)需要通過CDN訪問,由CDN回源拉取資源。如果您已通過步驟一灰度驗證域名通過CDN訪問原資源正常,您可以對原有的A記錄進行修改,調(diào)整該沖突主機名對應(yīng)的記錄類型和記錄值,解析修改生效時間一般在10分鐘左右。
CNAME記錄沖突:同一個域名添加兩條CNAME記錄時,部分廠商會按照輪詢規(guī)則解析、不提示沖突,也有廠商不允許同時存在兩條不同CNAME記錄。如果您需要將該加速域名全部流量切至阿里云CDN訪問,建議您在原有的CNAME記錄上修改,只保留一條CNAME記錄即可。
MX記錄沖突:觸發(fā)MX記錄沖突時,代表該域名已配置過MX記錄(例如直接添加已有MX記錄的主域名),按照RFC標準協(xié)議CNAME優(yōu)先級最高,所以在解析請求過程中,會優(yōu)先返回CNAME解析記錄結(jié)果,這樣設(shè)置的結(jié)果導致用戶無法請求到MX記錄,直接對客戶的郵箱業(yè)務(wù)造成使用影響。建議您考慮添加其他加速域名用于訪問,或者配置MX轉(zhuǎn)發(fā)規(guī)則,詳情可參考文檔:https://help.aliyun.com/document_detail/39787.html
解析配置完成后,一般在10分鐘左右生效,部分情況下生效時間可能晚于10分鐘,但一般不超過30分鐘。
方法一:一鍵驗證
前往阿里云CDN控制臺的域名管理列表。
選擇目標域名,將鼠標指向加速域名的CNAME狀態(tài)處,彈出CNAME配置向?qū)椏颉?/span>
單擊打開配置向?qū)Ш螅賳螕酎c擊查詢,一鍵驗證。
提示:控制臺解析驗證通過探測的方式查詢解析是否正確,可能存在解析獲取延遲或獲取結(jié)果波動的情況,如果您通過其他方式驗證已經(jīng)訪問到CDN加速時,可以忽略控制臺提示。另外,如果您僅配置了區(qū)域解析,可能會導致探測無法感知您的解析結(jié)果,不影響訪問時提示可忽略。
方法二:通過ping命令驗證
打開Windows操作系統(tǒng)中的cmd程序(MacOS操作系統(tǒng)可以打開啟動臺-其他-終端)。
在命令行中ping加速域名,如果返回的解析結(jié)果和CDN控制臺上該加速域名的CNAME值一致,則表示CDN加速已經(jīng)生效。

完成上述配置后,您的域名就正式接入了CDN進行服務(wù),那么此時終端用戶訪問時,DNS是如何工作的呢?
假設(shè)您的加速域名為?www.aliyundoc.com,接入CDN開始加速服務(wù)后,當終端用戶在北京發(fā)起HTTP請求時,處理流程如下圖所示。

當終端用戶向?www.aliyundoc.com?下的指定資源發(fā)起請求時,首先向Local DNS(本地DNS)發(fā)起請求域名?www.aliyundoc.com?對應(yīng)的IP。
Local DNS檢查緩存中是否有?www.aliyundoc.com?的IP地址記錄。如果有,則直接返回給終端用戶;如果沒有,則向網(wǎng)站授權(quán)DNS請求域名www.aliyundoc.com?的解析記錄。
當網(wǎng)站授權(quán)DNS解析?www.aliyundoc.com?后,返回域名的CNAME www.aliyundoc.com.example.com。
Local DNS向阿里云CDN的DNS調(diào)度系統(tǒng)請求域名www.aliyundoc.com.example.com的解析記錄,阿里云CDN的DNS調(diào)度系統(tǒng)將為其分配最佳節(jié)點IP地址。
Local DNS獲取阿里云CDN的DNS調(diào)度系統(tǒng)返回的最佳節(jié)點IP地址。
Local DNS將最佳節(jié)點IP地址返回給用戶,用戶獲取到最佳節(jié)點IP地址。
用戶向最佳節(jié)點IP地址發(fā)起對該資源的訪問請求。
如果該最佳節(jié)點已緩存該資源,則會將請求的資源直接返回給用戶(圖中步驟8),此時請求結(jié)束。
如果該最佳節(jié)點未緩存該資源或者緩存的資源已經(jīng)失效,則節(jié)點將會向源站發(fā)起對該資源的請求。獲取源站資源后結(jié)合用戶自定義配置的緩存策略,將資源緩存到CDN節(jié)點并返回給用戶(圖中步驟8),此時請求結(jié)束。
至此,CNAME解析添加的步驟已經(jīng)結(jié)束。如果您在步驟一的灰度驗證中訪問未達到預期,可在配置調(diào)整達到預期后再進行解析記錄的操作調(diào)整:
源站資源訪問異常時,可以參考上一章節(jié)域名添加中的源站配置說明。
如果業(yè)務(wù)需要HTTPS訪問,或需要調(diào)整緩存配置,您可以參考后續(xù)章節(jié)繼續(xù)學習。
在下個章節(jié)中。我們將共同學習「HTTPS相關(guān)功能及配置」,如果您的業(yè)務(wù)有相關(guān)訪問訴求,可以繼續(xù)關(guān)注本系列的實踐指導。



