為了保護ApsaraVideo for Live資源不被非法盜用,建議採用URL鑒權、IP黑白名單和遠程鑒權存取控制方式。通過這些方式,可以有效提升ApsaraVideo for Live的安全性和使用者體驗。
概覽
推流網域名稱存取控制是確保資源安全和防止非法盜用的重要手段,主要包括以下幾種方式:
URL鑒權:URL鑒權可以有效防止Refer防盜鏈方式無法徹底保護的問題,確保每個請求的合法性。
IP黑白名單:IP黑白名單可以限制或允許特定IP地址的訪問,實現對訪客身份的識別和過濾。
遠程鑒權:遠程鑒權則可以將使用者請求轉寄至指定的鑒權伺服器進行校正,進一步增強存取控制的靈活性和安全性。
URL鑒權
功能介紹
URL鑒權通過阿里雲ApsaraVideo for Live服務與客戶商務服務配合,提供安全可靠的直播資源防盜方法。
客戶商務服務端提供包含許可權驗證資訊的加密URL。
使用者使用加密URL向阿里雲直播服務發起請求。
阿里雲直播服務加速節點驗證URL中的許可權資訊,響應合法請求,拒絕非法請求。
請求URL經過阿里雲直播服務鑒權後,URL中的特殊字元(如=、+等)會被轉義。
瞭解更多關於URL鑒權的適用情境、鑒權URL的組成、原理等,請參見推/播流地址鑒權。
操作步驟
- 登入ApsaraVideo for Live控制台。
在左側導覽列點擊推/播流網域名稱管理,進入網域名稱管理頁面。
選擇您要配置的推流網域名稱,單擊網域名稱配置。

單擊。
單擊URL鑒權頁簽,單擊修改配置。
說明網域名稱初次添加時,預設開啟URL鑒權。初次關閉,需要瞭解盜刷風險並簽署《直播服務關閉URL鑒權免責協議》。
URL鑒權已開啟的情況下,單擊修改配置即可配置URL鑒權資訊。若您之前已關閉URL鑒權,開啟URL鑒權開關即可配置URL鑒權資訊。
配置URL鑒權資訊,單擊確定。

配置項和說明如下表所示。
配置項
說明
鑒權類型
ApsaraVideo for Live推流網域名稱僅支援使用鑒權A,來實現對來源站點資源的有效保護。
說明URL鑒權錯誤,都會返回403報錯,請重新計算。
MD5計算類錯誤
例如:
X-Tengine-Error:denied by req auth: invalid md5hash=de7bfdc915ced05e17380a149bd760be時間類報錯
例如:
X-Tengine-Error:denied by req auth: expired timestamp=1439469547
主KEY
當您添加網域名稱時,控制台會隨機產生一個主用密碼。您可以通過在直播控制台左側的導覽列選擇網域名稱管理,選擇您需要配置的網域名稱,單擊,在URL鑒權頁面查看主用密碼。您還可以重新輸入自訂的鑒權方式對應的主用密碼。
備KEY
輸入自訂的鑒權方式對應的備用密碼。
說明主Key或備Key擁有同樣的效力,備Key主要用於平滑更換。
若主Key執行更換,以主Key產生的鑒權URL將會失效。在更換時將舊的主Key寫入備Key,可以讓備Key繼續替代主Key提供服務。
有效時間長度
有效時間長度是指該URL鑒權僅在有效期間內可用來發起推流或者播放。直播推流和播放都是長連結行為,在有效期間內已經發起的直播推流或者播允許存取為,不會因為有效期間到期而中止,但新發起的推流和播放請求會因為有效時間長度到期會失敗。
第一次添加新網域名稱預設有效時間長度為1天(即1440分鐘)。你可以自訂輸入鑒權方式的預設有效時間長度,單位:分鐘。
IP黑白名單
功能介紹
添加IP到黑名單,那麼該IP無法訪問當前加速網域名稱。
添加IP到白名單,那麼只有該IP能夠訪問當前加速網域名稱。
IP黑名單和白名單均支援IPv6地址(地址中的字母僅支援大寫字母),例如:2001:DB8:0:23:8:800:200C:417A或2001:0DB8:0000:0023:0008:0800:200C:417A。IPv6地址不支援縮寫格式,例如:2001:0DB8::0008:0800:200C:417A。
IP黑名單和白名單均支援IP網段添加。例如:192.168.0.0/24,24表示採用子網路遮罩中的前24位有效位,即用32-24=8bit來表示主機號,該子網可以容納2^8-2=254台主機。故192.168.0.0/24表示IP網段範圍是:192.168.0.1~192.168.0.254。
操作步驟
- 登入ApsaraVideo for Live控制台。
在左側導覽列點擊推/播流網域名稱管理,進入網域名稱管理頁面。
選擇您要配置的推流網域名稱,單擊網域名稱配置。

- 單擊。
單擊IP黑/白名單頁簽,開啟IP黑/白名單。

配置名單類型和規則,單擊確定。

類型
說明
黑名單
黑名單內的網域名稱均無法訪問當前的資源。
白名單
只有白名單內的網域名稱能訪問當前資源,白名單以外的網域名稱均無法訪問當前的資源。
遠程鑒權
功能介紹
遠程鑒權和URL鑒權都用於保護直播資源,讓資源只被授權成功的使用者訪問。兩者在技術實現方案上有如下差異:
URL鑒權:使用者把網域名稱的鑒權規則下發給直播中心,由直播中心完成鑒權的整個資料互動流程。
遠程鑒權:使用者有自己單獨設定的鑒權伺服器,直播中心收到使用者請求後,需要把使用者請求轉寄給鑒權伺服器完成鑒權,鑒權伺服器由使用者自主建立和管理。遠程鑒權不支援HLS協議。
遠程鑒權功能的資料互動流程如下:
序號 | 互動說明 |
① | 使用者向直播中心發起資源訪問請求,請求中攜帶了鑒權參數。 |
② | 直播中心收到使用者請求,將使用者請求直接轉寄(或者經過指定的規則處理後轉寄)給鑒權伺服器。 |
③ | 鑒權伺服器根據使用者請求中攜帶的鑒權參數給出鑒權結果,並返回給直播中心。 |
④ | 直播中心根據鑒權伺服器返回的鑒權結果執行對應的動作,並返回對應的資料給使用者。
|
操作步驟
- 登入ApsaraVideo for Live控制台。
在左側導覽列點擊推/播流網域名稱管理,進入網域名稱管理頁面。
選擇您要配置的推流網域名稱,單擊網域名稱配置。
- 單擊。
單擊遠程鑒權頁簽,開啟遠程鑒權開關,根據介面提示,配置遠程鑒權參數資訊。
說明開啟遠程鑒權功能後,使用者的每次請求都要轉寄給鑒權伺服器處理,當請求訪問量大時,需考慮鑒權伺服器的壓力和效能。
參數
說明
鑒權伺服器位址
鑒權伺服器對外可以訪問的地址。系統會對您輸入的鑒權伺服器位址進行校正,包括格式校正和值校正,支援設定固定URL或變數拼接URL。
固定URL:支援HTTP(S)協議,值不能包含127.0.0.1和localhost,因為這類本地地址屬於無效地址。格式請參考以下幾種類型:
http(s)://example.aliyundoc.com/auth
http(s)://192.0.2.1/auth
變數拼接URL:您可以通過變數拼接的方式產生鑒權URL作為鑒權伺服器的地址,具體變數拼接URL的規則請參見變數拼接URL。
透傳請求URL參數
用於控制使用者請求URL中需要參與鑒權的參數。可以選擇透傳指定參數、不透傳指定參數或不透傳請求URL參數。
說明如果選擇透傳指定參數或不透傳指定參數,請在下方輸入框中輸入需要透傳的指定參數,多個參數用英文逗號(,)分隔,例如:
key1,key2,key3。鑒權結果對應狀態代碼
鑒權伺服器在鑒權成功時返回給直播中心的HTTP狀態代碼。可以選擇設定以下狀態代碼:
鑒權成功狀態代碼:選擇鑒權成功狀態代碼後請在下方輸入框輸入自訂的成功狀態代碼,只有鑒權伺服器返回此狀態代碼,直播中心才允許存取使用者請求,返回其他狀態代碼均攔截使用者請求。
例如,將鑒權成功狀態代碼設定為200,當鑒權伺服器返回200時,表示鑒權成功。
鑒權失敗狀態代碼:選擇鑒權失敗狀態代碼後請在下方輸入框輸入自訂的失敗狀態代碼,只有鑒權伺服器返回此狀態代碼,直播中心才攔截使用者請求,返回其他狀態代碼均允許存取使用者請求。
例如,將鑒權失敗狀態代碼設定為403,當鑒權伺服器返回403時,表示鑒權失敗。
鑒權時間長度(秒)
統計的是從直播中心發起鑒權請求開始,到直播中心收到鑒權伺服器返回的結果為止的時間。
鑒權時間長度支援0~30的整數。
鑒權逾時重試次數
鑒權時間長度超過上面設定的鑒權時間長度後,重新請求鑒權伺服器的次數。重試次數達到設定的次數之後,將會執行下方設定的鑒權逾時之後的動作,支援通过和拒绝這兩種動作。
鑒權逾時之後的動作
直播中心與鑒權伺服器之間的資料互動逾時後,直播中心對使用者請求的處理。支援通过和拒绝這兩種動作,區別如下:
通过:鑒權逾時,直播中心將直接允許使用者請求。
拒绝:鑒權逾時,直播中心拒絕使用者請求,直播中心返回鑒權失敗狀態代碼(例如:403狀態代碼)給使用者。
非同步鑒權(進階配置)
開啟時,播放的時候不再同步等待遠程鑒權結果,可以先播放,如果後續拿到遠程鑒權結果錯誤,再斷開播放,避免同步遠程鑒權耗時導致首屏時間增加的問題。
單擊確定,完成參數配置。
成功配置遠程鑒權功能後,您可以在遠程鑒權頁簽下,對當前的配置進行修改或關閉遠程鑒權功能。
變數拼接URL
您可以通過變數拼接的方式產生鑒權URL作為鑒權伺服器的地址,具體說明如下:
類型 | 說明 |
數字變數 | 數字變數例如 例如推流URL為 |
字母變數 | 字母變數例如 例如推流URL為 |
自訂變數 | 自訂變數以 |
ngx變數 | 所有的 所有通過變數引用的值在拼接鑒權地址時,都會被URL轉義函數 |
流名變數 | 支援添加 |
如果推流或播流地址為rtmp://domain.aliyundoc.com/app/stream?token=***&name=xrc。
遠程鑒權伺服器的地址配置為http://auth.aliyundoc.com/?app=${udv_host}&streamname=${2}&appname=${1}&token=${arg_token}。
則實際鑒權的地址為http://auth.aliyundoc.com/?app=domain.aliyundoc.com&streamname=stream&appname=app&token=***。