通過配置遠程鑒權功能,CDN可以按照您指定的方式將使用者請求轉寄給鑒權伺服器,由鑒權伺服器對使用者請求進行校正。校正通過即允許訪問,校正失敗會拒絕訪問或進行相應的限制,可有效避免CDN節點上的資源被非授權使用者訪問。
功能介紹
遠程鑒權功能是一種存取控制功能,用於對發送到CDN邊緣節點上的使用者請求進行校正,並根據鑒權伺服器返回的校正結果來判斷如何處理使用者的請求。
遠程鑒權和URL鑒權的作用一樣,都用於保護資源,讓資源只被授權成功的使用者訪問,非授權使用者將無法訪問。這兩個功能在技術實現方案上有如下差異:
- URL鑒權:使用者把網域名稱的鑒權規則下發給CDN節點,由CDN節點完成鑒權的整個資料互動流程。
- 遠程鑒權:使用者有自己單獨設定的鑒權伺服器,CDN節點收到使用者請求後,需要把使用者請求轉寄給鑒權伺服器完成鑒權,鑒權伺服器由使用者自主管理。
遠程鑒權功能的資料互動流程如下:
序號 | 互動說明 |
---|---|
① | 使用者發起的資源訪問請求到達CDN節點,請求中攜帶了鑒權參數。 |
② | CDN節點收到使用者請求,將使用者請求轉寄給鑒權伺服器。 |
③ | 鑒權伺服器根據使用者請求中攜帶的鑒權參數給出鑒權結果,並返回給CDN節點。 |
④ | CDN節點根據鑒權伺服器返回的鑒權結果執行對應的動作,並返回對應的資料給使用者。
鑒權結果舉例說明如下:
|
操作步驟
變數名稱
添加自訂參數時,您可以選擇直接使用CDN控制台上預設的變數。變數名稱與變數含義見下表。
變數名稱 | 變數含義 |
---|---|
$http_host | 要求標頭中的host值。 |
$http_user_agent | 要求標頭中的user_agent值。 |
$http_referer | 要求標頭中的referer值。 |
$http_content_type | 要求標頭中的content_type值。 |
$http_x_forward_for | 要求標頭中的x_forward_for值。 |
$remote_addr | 請求的client ip資訊。 |
$scheme | 請求的協議類型。 |
$server_protocol | 請求的協議版本。 |
$uri | 請求的原始uri。 |
$args | 請求的Query String,不包含問號(?)。 |
$request_method | 要求方法。 |
$request_uri | uri+'?'+args的內容。 |