阿里云CDN支持的源站類型包括OSS域名、IP、源站域名和函數計算域名,每種源站類型都支持配置多個源站地址,多源站場景下,支持設置源站的主備優先級和權重,實現負載均衡。
注意事項
CDN回源從源站獲取資源時,源站產生的流量寬帶費用由源站來繳納,比如源站是客戶的IDC中心,產生的就是IDC中心的流量帶寬費用;如果源站是OSS,產生的就是OSS的流量費。
新增或修改源站信息
登錄CDN控制臺。
在左側導航欄,單擊域名管理。
在域名管理頁面,找到目標域名,單擊操作列的管理。
在源站信息區域,根據業務需求,選擇新增或修改源站配置。
單擊新增源站信息,可以增加源站。
單擊已有源站信息后面的編輯,可以修改已有源站配置。
參數
說明
源站信息
選擇源站的類型,并填寫源站地址。
OSS域名
資源已存儲在阿里云OSS中,可在下拉列表中選擇或自定義輸入阿里云OSS Bucket的外網域名作為源站(不支持OSS內網域名作為源站),例如:
***.oss-cn-hangzhou.aliyuncs.com
。查看OSS外網域名:前往OSS控制臺查看,或直接選擇同賬號下的OSS Bucket。
說明阿里云CDN回源阿里云OSS的流量優惠說明:
用戶需要在控制臺上把源站類型設置為“OSS域名”,這樣阿里云OSS產品會將來自阿里云CDN產品的回源流量識別為“CDN回源流出流量”,從而享受到更優惠的價格。
如果用戶在控制臺上把源站類型誤設為“源站域名”,阿里云OSS產品會將來自阿里云CDN產品的回源流量識別為“外網流出流量”,這種情況下就享受不到優惠價格。
詳細的費用說明請參見CDN加速OSS計費說明。
IP:支持配置單個或者多個IP作為源站地址,不支持內網IP,支持IPv4地址和IPv6地址,不能全部配置IPv6地址,必須至少配置一個IPv4地址,使用阿里云ECS的外網IP作為源站地址可免審核。如果要配置IPv6源站地址,您需要提前開啟IPv6回源功能,如果沒有提前開啟,那么配置的IPv6源站地址將無法生效,這會導致回源失敗。詳細信息,請參見配置IPv6回源。
源站域名:支持配置域名作為源站地址,可配置多個域名。
說明源站域名不能與加速域名相同。若加速域名和源站域名一致,會導致請求反復解析到CDN節點上,造成循環解析,使得CDN節點無法回源。
源站域名格式:
域名長度為1~67個字符。
支持:小寫英文字母(a~z)、數字(0~9)和短劃線(-),例如example.com。
不支持:中文、英文大寫字母(A~Z)和除了短劃線(-)以外的其他符號,且短劃線(-)不能連續出現、不能單獨使用、不能出現在開頭和結尾。如果域名包含中文(例如:阿里云.網址),請以中文形式進行相關備案,再通過第三方工具punycode將中文域名轉換成為英文域名(例如:xn--fiq****.xn--eq****)后填入。
阿里云CDN當前支持直接將阿里云ALB產品的實例地址(例如:
example.hangzhou.alb.aliyuncs.com
)添加為CDN的源站。
函數計算域名:支持將您在同一賬號下的函數計算產品上配置的函數計算域名,配置為源站地址。您需要選擇函數計算區域和域名。操作方法,請參見配置自定義域名。
優先級
源站優先級支持設置主備,主優先級大于備優先級。用戶請求通過阿里云CDN回源時,會優先回源到優先級為主的源站地址。主源站出現故障的情況下,將會回源到備源站。源站優先級的取值范圍為0~127,數值越小,優先級越高。主源站的優先級默認值為20,備源站的優先級默認值為30。如需配置其他值,請填寫信息申請。
例如,有A、B兩個源站,A源站的優先級為主,B源站的優先級為備,則用戶請求通過阿里云CDN回源時會優先回源到A源站,如果A源站出現故障,將會回源到B源站,當A源站恢復正常后會從B源站切換回A源站。
權重
當多個源站的優先級相同時,阿里云CDN會按照源站的權重分配用戶請求回源到不同源站的比例,實現按權重的負載均衡。您可以根據業務需求,自行設置權限值。
取值范圍:1~100,數值越大,源站分配到的用戶請求比例越高。
默認值:10。
例如:有A、B兩個源站,兩個源站的優先級都是主,A源站的權重為80,B源站的權重為20,則用戶請求將會按照8:2的比例在A、B兩個源站之間分配。
說明在某些情況下,用戶實際請求回源到不同源站的比例并不一定會與域名配置中源站的權重比例相同,例如:
回源QPS較低(例如不到10QPS),回源到不同源站的概率分布不太均勻,因此會出現實際回源權重與源站配置的權重不一致的情況。
所有的請求均來自于某個IP地址(或者有限的某幾個IP地址),由于同一個IP地址將會被調度到同一個CDN節點,并且CDN節點與源站之間存在TCP會話保持,因此很可能會出現大部分請求都回源到同一個源站的情況。
如果您希望驗證用戶請求回源權重大致等同于域名配置中的源站權重,您可以使用第三方撥測工具來發起探測任務,配置地理位置分布盡可能廣、運營商分布盡可能多的探測客戶端,并且探測任務需要持續一段時間,以便于采集到足夠多的有效探測數據。
端口
說明源站健康檢查策略,請參見回源重試、回源超時、源站探測相關說明。
單擊確定,完成配置。
回源重試、回源超時、源站探測相關說明
- 回源重試順序:
- 對域名基礎信息的源站地址列表內的源站地址按優先級從高到低進行重試。
- 如果有優先級相同的源站地址,則按權重比例進行重試。
- 回源重試的顆粒度:
- 重試是IP地址級別的,如果源站是域名,將會對域名解析出的所有IP地址進行重試,只有域名下的所有IP都連接失敗后才會訪問其他可用源站。
- 重試時系統會自動過濾dead table中不可用的源站。
- 回源重試狀態碼:
- CDN節點在收到源站響應的5xx狀態碼的時候進行重試。
- 回源超時時間:在源站主動響應重試狀態碼時,CDN節點收到重試狀態碼之后就會重試。如果沒有收到源站主動響應的重試狀態碼,則會遵循回源超時時間處理邏輯,達到超時時間之后就會觸發CDN節點重試。
- 源站TCP建連超時:10秒(如果要調整,需要填寫信息申請配置)。
- 源站寫超時:默認為30秒(源站建連后寫入內容超時)。
- 源站讀超時:默認為30秒(源站建連后在一定時間內沒有把CDN節點請求的內容完整響應回去)。
- 源站寫超時時間和源站讀超時時間可以通過配置回源HTTP請求超時時間來調整。
- 源站探測邏輯:
- TCP連接異常:如果CDN節點與源站IP地址之間連續兩次出現TCP連接不可用(建連失敗或連接超時),CDN會從可用源站地址列表中剔除該源站IP地址,并將該IP地址加入dead table中,這樣后續的回源請求就不會去訪問這個源站IP地址;此后CDN節點會每隔5秒使用TCP建連去探測一次該源站IP地址,如果建連成功,則將該源站IP地址恢復到可用源站地址列表中。
- TCP連接正常:如果CDN節點與源站IP地址之間TCP連接正常,但收到源站響應的重試狀態碼(例如:5xx),此時雖然會觸發重試的邏輯,但該源站IP地址仍然還在可用源站地址列表中,下次訪問還會按權重去請求該源站(即TCP四層連接正常的情況下,七層HTTP請求異常不會主動屏蔽源站IP地址,如果需要在七層HTTP請求異常的情況下主動屏蔽源站IP地址,則需要填寫信息申請配置)。
相關文檔
什么是源站,請參見源站。
當您使用多個源站進行加速時,可以通過設置不同的回源HOST來指定CDN節點回源到不同的源站,請參見配置默認回源HOST。
如果您需要自定義HTTP或HTTPS回源協議,請參見配置回源協議。
如果您的源站使用的是阿里云對象存儲OSS,并且OSS的Bucket被配置為私有模式,需要給加速域名開啟OSS私有Bucket回源功能,請參見OSS私有Bucket回源。
如果您的源站IP綁定了多個域名,且CDN回源協議為HTTPS時,需配置回源SNI,請參見配置回源SNI。