將 OSS 作為 CDN 來源站點,利用全球邊緣節點緩衝靜態內容,實現使用者就近訪問。該方案通過 CDN 分發 OSS 中儲存的圖片、視頻、指令碼等靜態資源,顯著提升訪問速度並降低來源站點負載。
使用 OSS 預設網域名稱的使用者請注意:若當前使用 OSS 預設網域名稱(如 {bucket}.oss-cn-hangzhou.aliyuncs.com)訪問資源,無法在不改變 URL 連結的情況下直接轉變為 CDN 加速連結。必須使用自訂網域名進行 CDN 加速,並使用該自訂網域名進行訪問,這意味著業務側需要修改原有的 URL 連結。
業務情境
阿里雲 OSS 提供低成本的Object Storage Service,CDN 實現靜態資源加速分發。使用 OSS 作為 CDN 的來源站點,具備以下優勢:
使用者訪問資源全部經過 CDN,降低來源站點壓力。
CDN 下行流量單價低於直接存取 OSS 產生的外網流出流量。
從距離用戶端最近的 CDN 節點擷取資源,減少網路傳輸距離,降低訪問延遲。
少量視頻情境:OSS 提供低成本儲存,CDN 就近分發降低延遲,方案簡單經濟。如需轉碼、加密、播放器整合等進階功能,則適合使用音ApsaraVideo for VOD服務。
靜態圖片情境:CDN 下行流量單價低於OSS 外網流出流量單價。若使用者均為中國內地訪問,CDN+OSS 與直連 OSS 的速度差距不大,但 CDN 通過邊緣節點緩衝使物理距離更近,體驗略優。OSS 傳輸加速網域名稱更適合跨地區情境,或作為 CDN 回源地址最佳化跨境訪問。
技術架構
該方案的核心架構是利用 CDN 作為 OSS 的緩衝層。使用者請求資源時,請求首先到達距離最近的 CDN 邊緣節點:
快取命中:節點已緩衝該資源,直接從緩衝返回給使用者,實現最快響應。
緩衝未命中:節點向來源站點(OSS Bucket)發起請求擷取資源,返回給使用者的同時在節點建立快取複本,以備後續請求使用。
實施步驟
步驟一:註冊網域名稱和 ICP 備案
根據中華人民共和國工業和資訊化部相關規定,對中國內地提供服務的網站都必須完成 ICP 備案。阿里雲國際站購買的網域名稱暫不支援 ICP 備案,如需要向中國內地提供服務(網站解析至中國內地伺服器),需要先完成ICP備案流程,或瞭解GoChina備案管家。
步驟二:添加加速網域名稱並關聯 OSS 來源站點
此步驟在 CDN 控制台註冊加速網域名稱,並將其與作為來源站點的 OSS Bucket 關聯。
登入CDN控制台。
點擊添加域名,配置加速網域名稱的基本資料:
加速域名:輸入自訂網域名(如
www.example.com),支援泛網域名稱(如*.example.com)。此處填寫的不是 OSS 預設網域名稱,而是希望用於 CDN 加速的對外服務網域名稱。加速区域:根據主要使用者群體所在的地理位置選擇。
业务类型:根據資源類型選擇,例如,對於小於 20MB 的圖片和網頁小檔案,選擇“圖片小檔案”。
首次添加某網域名稱時,需驗證網域名稱歸屬權,提供檔案驗證或 DNS 驗證兩種方式。
選擇中國內地或全球時,加速網域名稱必須已完成 ICP 備案,否則將觸發備案校正攔截。
若提示 DNS 驗證失敗,請檢查:網域名稱是否已完成 ICP 備案(針對中國內地加速情境);DNS 解析是否存在衝突。
點擊新增來源站點資訊,填寫 OSS 的資訊:
源站信息:選擇OSS 網域名稱作為來源站點類型。
域名:來源站點類型為 OSS 網域名稱時,可從下拉式清單中選擇當前帳號下已有的 OSS Bucket 外網網域名稱。
配置多來源站點時,可設定以下參數:
參數
說明
優先順序
主(20)或備(30)。
權重
允許範圍為 1~100。。單來源站點情境保持預設值即可。
連接埠
HTTP 預設 80,HTTPS 預設 443,支援自訂 1~65535。來源站點類型為Function Compute時自動設為 80。
單擊确定。網域名稱添加後會進入推薦配置頁簽。
步驟三:配置核心加速策略(推薦配置)
按照推薦配置的引導流程來添加緩衝到期時間、Range 回源、忽略參數等基礎配置,這些配置可以提升 CDN 的快取命中率、訪問效能以及安全性。
配置緩衝到期時間
合理的緩衝規則能最大化 CDN 效能,減少不必要的回源請求。緩衝規則按順序匹配,首個命中的規則生效。進入 CDN 控制台指定網域名稱的管理配置頁面,選擇缓存配置功能。以下為參考的推薦配置:
檔案類型 | 檔案尾碼名 | 到期時間 | 說明 |
圖片/音視頻 |
| 30 天 | 資源內容不經常變更 |
靜態指令碼 |
| 1 小時 | 可能隨版本發布而頻繁變更 |
網站首頁 |
| 不緩衝(0 秒) | 確保使用者始終擷取最新頁面結構 |
混合大視頻與 MP3 小檔案時,建議按檔案類型分別配置緩衝策略:MP4 等大視頻檔案設定較長緩衝時間(如 30 天),同時建議開啟 Range 回源以支援大檔案分區回源、提升首播速度;MP3 等小檔案同樣設定較長緩衝時間,由於檔案較小,無需額外開啟 Range 回源。可分別為 .mp4 和 .mp3 尾碼添加對應緩衝規則。
配置忽略參數
進入 CDN 控制台指定網域名稱的管理配置頁面,選擇性能优化中的忽略参数功能。開啟忽略參數功能後,CDN 節點產生緩衝 hashkey 時會去除 URL 中 ? 之後的參數,使用戶端攜帶不同參數訪問同一資源時都能命中同一個快取檔案,有助於提高快取命中率、減少回源流量。
開啟 Range 回源
開啟 Range 回源功能後,CDN 節點請求來源站點 OSS 上的大檔案時,OSS 按照 CDN 請求的 Range 範圍返回分區內容,可減少回源流量消耗、減少資源回應時間。該功能適用於音視頻等較大檔案的內容分發,不適用於圖片小檔案等業務,圖片業務加速時無需配置。
配置 OSS 檔案自動重新整理緩衝
為確保 OSS 中的內容更新能及時同步到 CDN,可以在 OSS 控制台的頁面開啟目標網域名稱的OSS 目標網域名稱綁定和CDN 緩存自動刷新,選擇需要自動重新整理的操作。當 OSS 內容發生更新時,OSS 會自動觸發 CDN 重新整理任務。
此功能為事件觸發,不保證 100% 的送達率和即時性。在 OSS 側高並發寫入或網路抖動等極端情況下,重新整理事件可能丟失。對時效性要求極高的情境,建議直接使用 CDN的重新整理和預熱。
步驟四:配置 DNS 解析並驗證生效
前往CDN 控制台的網域名稱管理列表,找到之前添加的網域名稱,複製網域名稱對應的 CNAME 值(如果此處值為空白,請稍等五秒之後重新整理重試)。
使用加速網域名稱所在的阿里雲帳號,登入雲解析 DNS 控制台,在公网权威解析頁面找到目標網域名稱並點擊解析设置。
單擊添加記錄,建立一條 CNAME 記錄:
記錄類型:選擇
CNAME。主機記錄:填寫子網域名稱的首碼(例如
www)。記錄值:粘貼從 CDN 控制台複製的 CNAME 值。
其他參數保持預設,然後單擊 確認。
驗證流量是否已切換至 CDN
配置 DNS 解析後,可通過以下方式確認流量已正確切換至 CDN:
使用
curl -I檢查回應標頭:在終端執行curl -I https://your-domain.com/file,觀察回應標頭中的X-Cache欄位。若返回X-Cache: HIT或X-Cache: MISS均表示請求經過 CDN;若未出現X-Cache欄位,說明請求可能直接到達 OSS。查看 CDN 控制台監控資料:登入 CDN 控制台,進入頁面,檢查該網域名稱是否有流量資料。若配置生效後監控頁面有資料,說明流量已通過 CDN。
檢查 CNAME 狀態:在 CDN 控制台,查看目標網域名稱的 CNAME 狀態是否為已配置。CNAME 狀態有三種:已配置(綠色)、等待配置(黃色)、檢測逾時。
若網域名稱同時解析到 OSS 和 CDN,請求可能繞過 CDN 直接存取 OSS,導致加速失效。請確保 DNS 解析中僅保留指向 CDN CNAME 的記錄,刪除任何直接指向 OSS 網域名稱的 A 記錄或 CNAME 記錄。
步驟五:安全配置
啟用 HTTPS 加密傳輸
如果應用在配置阿里雲 CDN 之前已支援 HTTPS 訪問,務必進行 HTTPS 認證的配置,否則網域名稱將不再支援 HTTPS 訪問。
開啟HTTPS將產生HTTPS請求數,HTTPS請求數計費不能使用CDN流量包抵扣,請確保您的賬戶餘額充足,或購買HTTPS請求包,避免欠費導致CDN停止服務。詳情敬請參見靜態HTTPS請求數。
HTTPS 請求數計費不能使用 CDN 流量包抵扣,請確保賬戶餘額充足,或購買 HTTPS 請求包,避免欠費導致 CDN 停止服務。
前往阿里雲 CDN 控制台的網域名稱管理列表,找到之前添加的網域名稱,點擊,進入網域名稱配置頁面。
選擇HTTPS配置頁簽中的HTTPS证书,點擊修改配置。
在HTTPS设置介面,開啟HTTPS安全加速開關,並選擇認證:
認證類型
說明
雲盾(SSL)認證中心
從阿里雲 SSL 憑證產品中選擇已有認證。需在中搜尋選擇。
自訂上傳(認證+私密金鑰)
手動上傳 PEM 格式的認證內容和私密金鑰。需設定認證名稱、上傳和。
阿里雲 Digicert 免費 DV 認證,有效期間一年,自動續簽。不支援泛網域名稱。需勾選授權同意複選框。
CSR 認證
提交 CSR 認證簽章要求後使用。
如果已在阿里雲數位憑證管理服務購買了認證,選擇雲盾(SSL)認證中心中選擇已購買的認證。
如果無法選擇已購買的認證,請檢查已購買認證綁定的網域名稱和加速網域名稱是否相同。如果使用的是第三方服務商簽發的認證,選擇自訂上傳(認證+私密金鑰)後,上傳認證(公開金鑰),該認證將儲存至阿里雲數位憑證管理服務。可前往我的認證查看。
授權 CDN 訪問私人 Bucket
如果 OSS Bucket 為私人許可權,則必須完成以下授權,否則所有回源請求都將因無許可權而失敗。
前往阿里雲 CDN 控制台的網域名稱管理列表,點擊之前添加的網域名稱,進入網域名稱配置頁面。
在回源配置中開啟私有Bucket回源,然後選擇同帳號回源。如果涉及到跨帳號回源,請參考OSS私人Bucket回源進行配置。
配置 URL 鑒權
URL 鑒權(也稱時間戳記防盜鏈)通過為存取 URL 添加簽名和到期時間,防止資源被惡意盜用。
前往阿里雲 CDN 控制台的網域名稱管理列表,點擊之前添加的網域名稱,進入網域名稱配置頁面。
在访问控制頁簽中,選擇URL鉴权,點擊修改配置。
在配置頁中,選擇A方式,設定一個主KEY和一個备KEY(主、備KEY至少要填寫一個),並妥善保管。這些密鑰將用於在服務端驗證帶有簽名的 URL,使用樣本請參考鑒權方式A說明。
根據業務需求設定鑒權 URL 的有效時間,例如 1800 秒。
配置用量封頂
為防止網域名稱被攻擊或盜刷產生突發高頻寬導致高額賬單,可通過用量封頂控制使用者訪問該網域名稱的頻寬、流量、HTTPS 請求數上限值,減少因突發流量導致的損失。
監控與警示
設定即時監控:對 CDN 產品下指定網域名稱的頻寬峰值設定監控,達到設定的頻寬峰值後將會給管理員發送警示,便於及時發現潛在風險。
設定費用預警:在控制台上方選擇費用與成本,通過以下功能控制賬戶消費額度:
可用額度預警:設定賬戶餘額低於一定金額時向警示連絡人的連絡方式發送警示資訊。
計費說明
將 OSS 作為 CDN 來源站點時,可能產生以下費用:
CDN 下行流量費用:使用者通過 CDN 訪問資源產生的下行流量。建議購買 CDN 流量包以降低成本,CDN 下行流量單價通常低於 OSS 外網流出流量單價。購買 CDN 資源套件後無需額外配置,系統自動抵扣產生的 CDN 下行流量費用。
OSS 流出到 CDN 的流量費用:CDN 回源到 OSS 時產生的 OSS 流出流量。
靜態 HTTPS 請求數費用:開啟 HTTPS 安全加速後產生。
HTTPS 請求數計費不能使用 CDN 流量包抵扣,需單獨購買 HTTPS 請求數資源套件或確保賬戶餘額充足。