在CDN分發的內容預設為公開資源,使用者拿到URL後均可訪問,為防止網站資源被惡意下載盜用,除了通過Referer防盜鏈、IP黑白名單等防控方式,您還可以採用URL鑒權,自行配置校正鑒權URL中的加密串和時間戳記,更安全有效地保護來源站點資源。
鑒權邏輯
URL鑒權功能通過阿里雲CDN節點與客戶資來源站點點配合,形成了更為安全可靠的來源站點資源防盜方法。主要由以下幾個部分配合:
來源站點應用伺服器:根據鑒權URL建置規則(包括鑒權演算法、密鑰)產生鑒權URL返回給用戶端。
用戶端:發起資源請求,並發送鑒權URL給CDN節點進行驗證。
CDN節點:對鑒權URL中的鑒權資訊(鑒權字串、時間戳記等)進行驗證。
CDN客戶在來源站點應用伺服器配置鑒權URL的建置規則(包括鑒權演算法和密鑰)。
假設鑒權URL為:
http://DomainName/timestamp/md5hash/FileName。用戶端訪問來源站點應用的頁面時,來源站點應用伺服器將會按照鑒權URL的建置規則產生鑒權URL,並且把鑒權URL包含在應用頁面上返回給用戶端(圖中②和③)。
用戶端使用鑒權URL向CDN節點發起資源請求(圖中④)。
CDN節點對鑒權URL中的鑒權資訊(包括鑒權字串、時間戳記等)進行驗證,判斷請求的合法性。
鑒權失敗,拒絕訪問請求。
鑒權通過,正常響應合法請求。
說明若CDN節點沒有緩衝資源,CDN節點回源前,會去掉鑒權URL中的鑒權參數,將鑒權URL還原為原始URL(例如:
http://DomainName/FileName),再使用原始URL產生緩衝key或者發起回源請求。您的請求URL經過CDN鑒權後,URL中的特殊字元,例如
=、+等會被轉義。
注意事項
配置URL鑒權後,鑒權失敗請求仍可訪問到CDN節點,但會被CDN節點拒絕並返回403狀態代碼,CDN日誌中仍會記錄鑒權失敗的請求記錄。
由於URL鑒權功能採用的是自行配置校正鑒權URL中的加密串和時間戳記,因此在惡意請求被CDN節點攔截的同時,會產生少量的流量費用,如果用戶端使用HTTPS協議訪問,還會產生HTTPS請求數費用(因為攔截惡意請求的時候,也同時消耗了CDN節點的處理資源)。
配置鑒權URL並開啟鑒權
請確保您已經在您的來源站點應用伺服器配置了鑒權URL的建置規則(包括鑒權演算法、密鑰)。
CDN配置的URL鑒權邏輯必須與您的來源站點應用伺服器的URL鑒權邏輯保持一致。
登入CDN控制台。
在左側導覽列,單擊域名管理。
在域名管理頁面,找到目標網域名稱,單擊操作列的管理。
在指定網域名稱的左側導覽列,單擊访问控制。
單擊URL鉴权頁簽。
在鉴权URL设置地區,單擊修改配置。
開啟URL鉴权開關,配置URL鑒權資訊。

參數
說明
鉴权类型
主KEY
輸入鑒權方式對應的主用密碼。由6~128個字元組成,支援大寫字母、小寫字母、數字。
备KEY
輸入鑒權方式對應的備用密碼。由6~128個字元組成,支援大寫字母、小寫字母、數字。主、備KEY至少要填寫一個。
鑒權URL有效時間長度
CDN配置的鑒權URL有效時間長度,使用者可在(timestamp+CDN上鑒權URL有效時間長度)時間區間內訪問CDN,超出該區間,鑒權失效。
單位:秒
取值範圍:1~31536000
預設值:1800(30分鐘)
樣本:例如簽算伺服器產生鑒權URL的時間(timestamp)為2020-08-15 15:00:00(UTC+8),CDN上鑒權URL有效時間長度為1800秒,則鑒權URL失效時間為2020-08-15 15:30:00(UTC+8)。
簽名參數
通過設定簽名參數,可以自訂簽名參數名稱。僅在鑒權類型設定為F方式的時候有效。
時間戳記參數
通過設定時間戳記參數,可以自訂時間戳記參數名稱。僅在鑒權類型設定為F方式的時候有效。
時間戳記格式
設定時間戳記格式,支援十進位(Unix時間戳記)和十六進位(Unix時間戳記)。僅在鑒權類型設定為F方式的時候有效。
URL編碼
URL編碼開關,預設關閉,開啟的情況下將會對使用者請求URL做URL編碼處理。僅在鑒權類型設定為F方式的時候有效。
規則條件
規則條件能夠對使用者請求中攜帶的各種參數資訊進行識別,以此來決定某個配置是否對該請求生效。
不使用:不使用規則條件。
選擇已配置的規則引擎,新增或修改規則引擎請參見規則引擎。
單擊確定。
驗證鑒權URL正確性
為保證伺服器正確實現了鑒權邏輯,配置鑒權URL後,建議您在CDN控制台產生對應的鑒權URL,校正鑒權URL的正確性。
在生成鉴权URL地區,配置原始URL和鑒權資訊。

參數
說明
原始URL
輸入完整的原始URL地址,例如:
https://www.aliyun.com。鉴权类型
按照您在配置鑒權URL並開啟鑒權的配置,選擇URL鑒權類型。
鉴权KEY
按照您在配置鑒權URL並開啟鑒權的配置,輸入您配置的主KEY或备KEY。
鉴权URL有效时长
按照您在配置鑒權URL並開啟鑒權的配置,輸入URL鑒權的有效時間長度,單位為秒。
單擊开始生成,即可獲得鉴权URL和Timestamp。

關閉URL鑒權
如果CDN上的URL鑒權功能已經關閉了,但是用戶端發起的請求URL裡面依然攜帶鑒權參數的話,就會導致CDN無法把用戶端發起的請求URL(帶鑒權參數)還原為原始URL,最終所有請求都無法命中緩衝,均會透傳回來源站點,導致來源站點的流量大漲,同時也會增加來源站點的流量費用。因此,如果您需要停止使用URL鑒權,需同時關閉應用伺服器和CDN的URL鑒權功能。
在CDN控制台的鉴权URL设置地區,單擊修改配置,關閉URL鑒權開關。
在您的應用伺服器中去掉請求URL的鑒權參數。