當您需要加速OSS上的圖片或視頻等靜態資源時,可以通過阿里云CDN加速OSS域名,實現靜態資源的訪問加速。本文詳細介紹了通過CDN控制臺實現OSS加速的操作流程和應用場景。
客戶價值
阿里云OSS可提供低成本的存儲,CDN可以實現靜態資源加速分發。使用OSS作為CDN的源站,價值和優勢如下:
用戶訪問網站資源,全部通過CDN,降低源站壓力。
使用CDN流量,單價低于直接訪問OSS產生的外網流出流量。
從距離客戶端最近的CDN節點獲取資源,減少網絡傳輸距離,保證靜態資源傳輸質量。
技術架構
當OSS作為源站時,CDN會將源站的靜態資源(靜態腳本、圖片、音視頻等)提前緩存到CDN全球加速節點,用戶請求訪問或下載資源時,可就近獲取CDN節點上已緩存的資源,實現資源加速。
技術架構如下:
業務場景
CDN的業務使用場景,分為靜態內容加速、動態內容加速和安全加速。阿里云CDN只針對于靜態內容加速的使用;動態內容加速和安全加速需使用阿里云全站加速DCDN。
以某網站(域名image.example.com)需要加速OSS圖片資源為例,業務需求和相關信息如下:
信息 | 說明 | 場景示例 |
網站域名 | 即加速域名,用來加速的網站。 | image.example.com |
業務類型 | 根據網站資源類型判斷。 例如網站圖片為主,業務類型為圖片小文件。 | 圖片小文件 |
加速區域 | 網站訪問用戶所屬地。 | 僅中國內地 |
源站域名 | 加速OSS可用同賬號下的OSS Bucket,或選擇輸入阿里云OSS Bucket的外網域名作為源站。 | ***.oss-cn-hangzhou.aliyuncs.com |
其他服務 | 其他業務需求 |
|
配置流程
基于以上業務場景,下面為您詳細介紹使用阿里云CDN加速OSS資源的配置流程。
計費說明
將OSS作為CDN源站時,可能會產生CDN下行流量費用以及OSS流出到CDN流量費用。具體請參見CDN加速OSS計費說明。
前提條件
已開通OSS服務并創建了OSS Bucket,且上傳了相關資源。
您已經擁有用于加速的域名。
配置CDN加速OSS資源
步驟一:開通CDN并添加加速域名
登錄CDN控制臺。
在左側導航欄,選擇域名管理,單擊添加域名,完成以下參數配置。
加速域名:即最終暴露給終端用戶訪問時使用的域名,如本例中的:
image.example.com
加速區域:即需要加速OSS訪問的區域,如:僅中國內地。
單擊新增源站信息,配置源站。源站信息選擇OSS域名,并在下方的域名輸入框中選擇要加速的OSS Bucket,其他參數保持默認值即可,單擊確定。
完成源站配置后,閱讀并勾選合規承諾,單擊下一步,等待人工審核。
說明如果您的加速域名無需人工審核,將直接進入下一個配置環節,您可以根據實際業務需求完成推薦配置,通過配置緩存過期時間、帶寬封頂、頁面優化等功能,可有效提升CDN的緩存命中率、安全性和訪問性能。
等到域名狀態為正常運行時,會顯示加速域名的CNAME值,本場景示例為
image.example.com.w.kunlunsl.com
。
步驟二:配置CNAME
添加加速域名后,CDN會為您分配一個CNAME域名。請在DNS服務商處將加速域名的DNS解析記錄指向分配的CNAME域名,使訪問請求轉發到CDN節點上,實現加速效果。
以DNS解析服務商是阿里云為例,為您介紹CNAME配置方法。具體操作和其他配置方式請參見配置CNAME。
使用加速域名所在的阿里云賬號,前往云解析DNS控制臺的域名解析。
在左側導航欄單擊域名解析,找到您的域名,在域名右側單擊解析設置。
單擊添加記錄,添加CNAME記錄。
記錄類型:CNAME
主機記錄:
image
記錄值:輸入CDN為您的加速域名分配的CNAME值(如:
image.example.com.w.kunlunsl.com
)。其他參數保持默認值即可。
單擊確認。
(可選)步驟三:建議配置
為了提高加速性能和訪問安全,確保用戶可以快速并安全地獲取以及傳輸數據,您可以根據業務需求,完成以下配置。
在CDN控制臺訪問,在域名列表單擊目標域名對應的管理。
根據業務需求,完成下表中的配置。
場景 | 描述 | 配置 |
提高緩存命中率 | 合理配置緩存過期時間,可有效提高緩存命中率: 不常更新的靜態文件(例如,圖片類型、應用下載類型等),建議設置1個月以上。 頻繁更新的靜態文件(例如,JS、CSS等),根據實際業務情況設置。 動態文件(例如,PHP、JSP、ASP等),建議設置為0s,即不緩存。 | |
指定CDN節點回源時的具體站點 | 默認情況,將使用OSS的Bucket地址作為HOST地址(本場景示例為***.oss-cn-hangzhou.aliyuncs.com)。 如果源站OSS Bucket綁定了自定義域名(例如,origin.developer.aliyundoc.com),則需要配置回源HOST為自定義域名類型,且HOST值為origin.developer.aliyundoc.com。 | |
OSS源站資源加密,避免非授權的請求盜刷流量 | 默認情況下,OSS bucket是可以公開訪問的,如果您需要禁止非授權的用戶直接訪問OSS bucket,您可以配置OSS私有bucket回源功能,這樣就只有同賬號下的阿里云CDN可以回源到OSS bucket來獲取源站的資源。 | 執行該操作前,需確保OSS上創建的Bucket讀寫權限為私有。具體操作,請參考設置Bucket ACL |
提高CDN節點回源下載文件的效率 | 開啟Range回源功能后,CDN節點請求源站OSS上的大文件時,OSS將按照CDN請求的Range范圍返回分片內容,可減少回源流量消耗、減少資源響應時間。 適用于音視頻等較大文件的內容分發,不適用于圖片小文件等業務,圖片業務加速時無需配置。 | |
提高緩存命中率 提升文件分發效率 | 開啟過濾參數功能后,CDN節點在生成緩存hashkey時會去除URL中?之后的參數,這樣客戶端在攜帶不同的參數訪問同一個資源文件的時候,都能夠命中到同一個緩存文件,有助于提高緩存命中率,減少回源流量。 | |
限制訪問CDN資源的用戶,禁止其他網站引用您的資源鏈接 | 配置Referer黑白名單后,CDN會根據名單識別請求身份,允許或拒絕訪問請求。允許訪問請求,CDN會返回資源鏈接;拒絕訪問請求,CDN會返回403響應碼。 | |
避免網站資源被惡意盜鏈,流量被惡意盜刷 | 開啟URL鑒權功能需要源站的服務端配合,服務端需要按照CDN上配置的URL鑒權類型所對應的鑒權算法來生成鑒權URL;CDN上開啟URL鑒權功能以后,將只有授權的客戶端能夠訪問CDN上的資源。 |
相關操作
CDN訪問OSS資源
在CDN加速域名的CNAME配置生效后,將被訪問文件的讀寫權限設置為公共讀,您便可以通過如下方法訪問OSS上的資源:
通過CDN加速域名+文件訪問路徑的方式訪問。例如,當CDN加速域名為
aliyundoc.com
,需要訪問根目錄下的文件image_01.jpg時,訪問地址為http://aliyundoc.com/image_01.jpg
。將客戶端中OSS的Bucket域名配置為CDN加速域名,再通過CDN加速域名訪問。