全部產品
Search
文件中心

ApsaraVideo Live:存取控制

更新時間:Aug 01, 2025

播流網域名稱通過多種存取控制策略,包括URL鑒權、Referer防盜鏈、IP黑白名單、協議禁播、地區封鎖和遠程鑒權,有效防止非法盜用和未授權訪問,並且提升直播服務的安全性和使用者體驗。使用者可根據自身業務和安全需求,合理選擇和配置相應的存取控制策略,確保直播資源的安全和穩定運行。

概覽

播流網域名稱存取控制是確保資源安全和防止非法盜用的重要手段,主要包括以下幾種方式:

  • URL鑒權:URL鑒權可以有效防止Refer防盜鏈方式無法徹底保護的問題,確保每個請求的合法性。

  • Referer防盜鏈:通過Referer防盜鏈配置自訂黑/白名單及規則內容,允許或拒絕播放請求,保護直播內容。

  • IP黑白名單:IP黑白名單可以限制或允許特定IP地址的訪問,實現對訪客身份的識別和過濾。

  • 協議禁播:通過對當前網域名稱的播放協議進行限制,開啟禁用後,該網域名稱下對應的播放協議將無法使用,禁用協議產生的播放地址請求會被拒絕。

  • 地區封鎖:通過播放地區管理配置可以指定播放地區的黑白名單,對當前網域名稱的播放地區進行管理。

  • 遠程鑒權:遠程鑒權則可以將使用者請求轉寄至指定的鑒權伺服器進行校正,進一步增強存取控制的靈活性和安全性。

URL鑒權

功能介紹

URL鑒權功能通過阿里雲ApsaraVideo for Live服務與客戶商務服務配合,形成了更為安全可靠的直播資源防盜方法。

  1. 客戶的直播商務服務端提供加密URL,URL中包含許可權驗證資訊。

  2. 推流或播放使用者使用加密後的URL向阿里雲直播服務發起請求。

  3. 阿里雲直播服務加速節點對加密URL中的許可權資訊進行驗證,判斷請求的合法性。正常響應合法請求,拒絕非法請求。

重要

您的請求URL經過阿里雲直播服務鑒權後,URL中的特殊字元,例如:=+等會被轉義。

瞭解更多關於URL鑒權的適用情境、鑒權URL的組成、原理等,請參見推/播流地址鑒權

配置URL鑒權

  1. 登入ApsaraVideo for Live控制台
  2. 在左側導覽列單擊推/播流網域名稱管理,進入網域名稱管理頁面。

  3. 選擇您要配置的播流網域名稱,單擊網域名稱配置

  4. 單擊直播管理 > 存取控制

  5. 單擊URL鑒權頁簽,單擊修改配置

    修改配置

    說明

    初次添加網域名稱時,預設開啟URL鑒權,僅開啟時可修改配置

  6. 配置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鑒權,在URL鑒權頁面查看主用密碼。您還可以重新輸入自訂的鑒權方式對應的主用密碼。

    備KEY

    輸入自訂的鑒權方式對應的備用密碼。

    說明
    • 主Key或備Key擁有同樣的效力,備Key主要用於平滑更換。

    • 若主Key執行更換,以主Key產生的鑒權URL將會失效。在更換時將舊的主Key寫入備Key,可以讓備Key繼續替代主Key提供服務。

    有效時間長度

    有效時間長度指URL鑒權在有效期間內可用來發起推流或播放。直播推流和播放是長連結行為,已發起的不會因有效期間到期而中止,但新請求會因到期而失敗。新網域名稱預設有效時間長度為1天(1440分鐘)。您可以自訂有效時間長度,最小1分鐘,無上限。

關閉URL鑒權

說明
  • 關閉URL鑒權前,請瞭解盜刷風險並簽署《關閉URL鑒權免責協議》。

  • 關閉URL鑒權後,可產生永久有效推流或播流地址。

  1. URL鑒權頁簽,單擊去簽署

  2. 簽署協議對話方塊中,選中複選框,並單擊簽署協議

  3. 《關閉URL鑒權免責協議》簽署成功,單擊確定

  4. 關閉鑒權URL開關。關閉後,將不能通過設定鑒權KEY對URL進行加密。

Referer防盜鏈

功能介紹

防盜鏈功能通過HTTP協議的Referer機制識別請求來源,支援黑名單或白名單機制。ApsaraVideo for Live節點根據預設名單過濾訪客身份,符合規則的使用者可訪問資源,不符合規則的使用者將收到403響應。

說明
  • 防盜鏈是可選配置,預設不啟用。

  • 黑白名單互斥,同一時間您只能選擇一種方式。

  • 配置防盜鏈後,ApsaraVideo for Live支援自動添加泛網域名稱。例如,如果您填寫example.com,則最終配置生效的是*.example.com,所有子級網域名稱都會生效。

  • 您可以設定是否允許空Referer欄位訪問資源,即允許通過瀏覽器地址欄直接存取資源URL。

    • 由於移動端一般擷取不到referer,目前預設支援空referer訪問。如果設定為不允許空referer訪問,在移動端可以配合阿里雲播放器SDK設定referer。

    • 當您設定不允許空referer訪問時,請務必配置HTTPS 安全加速,並開啟強制跳轉HTTPS(HTTP > HTTPS),部分瀏覽器處理HTTPS請求HTTP的資源時,會移除referer,導致無法訪問。

操作步驟

  1. 登入ApsaraVideo for Live控制台
  2. 在左側導覽列單擊推/播流網域名稱管理,進入網域名稱管理頁面。

  3. 選擇您要配置的播流網域名稱,單擊網域名稱配置

  4. 單擊直播管理 > 存取控制

  5. 單擊Referer防盜鏈頁簽,開啟Referer防盜鏈

    開啟

  6. 配置Referer類型規則,單擊確定

    配置防盜鏈

    Referer防盜鏈類型及說明如下表所示。

    類型

    說明

    黑名單

    黑名單內的網域名稱均無法訪問當前的資源。

    白名單

    只有白名單內的網域名稱能訪問當前資源,白名單以外的網域名稱均無法訪問當前的資源。

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。

操作步驟

  1. 登入ApsaraVideo for Live控制台
  2. 在左側導覽列單擊推/播流網域名稱管理,進入網域名稱管理頁面。

  3. 選擇您要配置的播流網域名稱,單擊網域名稱配置

  4. 單擊直播管理 > 存取控制
  5. 單擊IP黑/白名單頁簽,開啟IP黑/白名單

    開啟黑白名單

  6. 配置名單類型規則,單擊確定

    配置黑白名單-chs

    類型說明
    黑名單黑名單內的網域名稱均無法訪問當前的資源。
    白名單只有白名單內的網域名稱能訪問當前資源,白名單以外的網域名稱均無法訪問當前的資源。

協議禁播

功能介紹

協議禁播功能是對播流網域名稱(包括主、子播流網域名稱)進行協議層級的禁播,開啟後該網域名稱指定協議的播放地址將無法播放直播流。

除了控制台,您還可以通過調用BatchSetLiveDomainConfigs介面,通過Functions參數傳入alilive記錄,詳情請參見大量設定網域名稱

操作步驟

  1. 登入ApsaraVideo for Live控制台

  2. 在左側導覽列單擊推/播流網域名稱管理,進入網域名稱管理頁面。

  3. 選擇您要配置的播流網域名稱,單擊網域名稱配置

  4. 單擊直播管理 > 存取控制
  5. 單擊協議禁播頁簽,選擇需要禁播的協議,開啟禁播功能。

    禁播

地區封鎖

功能介紹

地區封鎖功能通過識別用戶端訪問請求來源區域,攔截特定地區的訪問或者只允許特定地區的訪問,解決部分地區高發的惡意請求、內容分發著作權等問題。

說明
  • 目前支援播放協議為HLS、RTMP、FLV、RTS的封鎖功能。

  • 目前網域名稱粒度地區封鎖和流粒度地區封鎖,如果同時針對某一地區佈建網域名粒度的白名單和流粒度黑名單,則會針對此地區執行流粒度的黑名單封鎖操作。如果同時針對某一地區佈建網域名粒度的黑名單和流粒度白名單,則會針對此地區執行網域名稱粒度的黑名單封鎖操作。

  • 支援同時設定網域名稱地區封鎖直播流地區封鎖,如果兩者黑白名單產生衝突,禁止訪問地區則以配置的黑名單為準。

網域名稱地區封鎖

  1. 登入ApsaraVideo for Live控制台

  2. 在左側導覽列單擊推/播流網域名稱管理,進入網域名稱管理頁面。

  3. 選擇您要配置的播流網域名稱,單擊網域名稱配置

  4. 單擊直播管理 > 存取控制
  5. 地區封鎖頁簽,開啟網域名稱地區封鎖開關,選擇封鎖類型禁止訪問地區

    參數

    說明

    封鎖類型

    • 黑名單:黑名單內的地區均無法訪問播流網域名稱下的所有資源。

    • 白名單:只有白名單內的地區能訪問播流網域名稱下的資源,白名單以外的地區均無法訪問。

    黑名單和白名單互斥,同一時間只支援其中一種方式生效。

    禁止訪問地區

    設定黑白名單的地區。

  6. 單擊確定,完成配置。

直播流地區封鎖

  1. 登入ApsaraVideo for Live控制台

  2. 在左側導覽列單擊推/播流網域名稱管理,進入網域名稱管理頁面。

  3. 選擇您要配置的播流網域名稱,單擊網域名稱配置

  4. 單擊直播管理 > 存取控制
  5. 單擊地區封鎖頁簽,在直播流地區封鎖下單擊添加封鎖添加封鎖..png

    參數

    說明

    AppName

    直播流應用程式名稱。

    說明

    AppName不超過256字元,支援數字、大小寫字母、短劃線(-)、底線(_)、等號(=)。且需和直播地址中的AppName一致,封鎖規則才會生效。

    StreamName

    直播流的流名稱。

    說明

    StreamName不超過256字元,支援數字、大小寫字母、短劃線(-)、底線(_)、等號(=)。且需和直播地址中的StreamName一致,封鎖規則才會生效。

    封鎖類型

    • 黑名單:黑名單內的地區均無法訪問播流網域名稱下的所有資源。

    • 白名單:只有白名單內的地區能訪問播流網域名稱下的資源,白名單以外的地區均無法訪問。

    說明

    黑名單和白名單互斥,同一時間只支援其中一種方式生效。

    訪問地區

    設定黑白名單的訪問地區。

    失效時間

    封鎖規則的失效時間。預設封鎖規則有效期間為7天,可根據需求進行調整

  6. 單擊確定,完成配置。

  7. 查看直播流地區封鎖列表。配置完直播流地區封鎖後,您可以在封鎖列表中進行重新整理,即可查看直播流封鎖的狀態。可按照黑白名單、AppName、StreamName對直播流封鎖列表進行查詢。

遠程鑒權

功能介紹

遠程鑒權和URL鑒權都用於保護直播資源,讓資源只被授權成功的使用者訪問。兩者在技術實現方案上有如下差異

  • URL鑒權:使用者把網域名稱的鑒權規則下發給直播中心,由直播中心完成鑒權的整個資料互動流程。

  • 遠程鑒權:使用者有自己單獨設定的鑒權伺服器,直播中心收到使用者請求後,需要把使用者請求轉寄給鑒權伺服器完成鑒權,鑒權伺服器由使用者自主建立和管理遠程鑒權不支援HLS協議。

遠程鑒權功能的資料互動流程如下:

序號

互動說明

使用者向直播中心發起資源訪問請求,請求中攜帶了鑒權參數。

直播中心收到使用者請求,將使用者請求直接轉寄(或者經過指定的規則處理後轉寄)給鑒權伺服器。

鑒權伺服器根據使用者請求中攜帶的鑒權參數給出鑒權結果,並返回給直播中心

直播中心根據鑒權伺服器返回的鑒權結果執行對應的動作,並返回對應的資料給使用者。

  • 舉例1:鑒權成功,直播中心與使用者開始正常的快取資料訪問互動。

  • 舉例2:鑒權失敗,直播中心返回403狀態代碼給使用者。

  • 舉例3:鑒權逾時,直播中心執行鑒權逾時的預設動作,即允許存取或者拒絕使用者請求。

操作步驟

  1. 登入ApsaraVideo for Live控制台
  2. 在左側導覽列單擊推/播流網域名稱管理,進入網域名稱管理頁面。

  3. 選擇您要配置的播流網域名稱,單擊網域名稱配置

  4. 單擊直播管理 > 存取控制
  5. 單擊遠程鑒權頁簽,開啟遠程鑒權開關,根據介面提示,配置遠程鑒權參數資訊。

    說明

    開啟遠程鑒權功能後,使用者的每次請求都要轉寄給鑒權伺服器處理,當請求訪問量大時,需考慮鑒權伺服器的壓力和效能。

    參數

    說明

    鑒權伺服器位址

    鑒權伺服器對外可以訪問的地址。系統會對您輸入的鑒權伺服器位址進行校正,包括格式校正和值校正,支援設定固定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狀態代碼)給使用者。

    非同步鑒權(進階配置)

    開啟時,播放的時候不再同步等待遠程鑒權結果,可以先播放,如果後續拿到遠程鑒權結果錯誤,再斷開播放,避免同步遠程鑒權耗時導致首屏時間增加的問題。

  6. 單擊確定,完成參數配置。

    成功配置遠程鑒權功能後,您可以在遠程鑒權頁簽下,對當前的配置進行修改或關閉遠程鑒權功能。

變數拼接URL

您可以通過變數拼接的方式產生鑒權URL作為鑒權伺服器的地址,具體說明如下:

類型

說明

數字變數

數字變數例如${1}${2},用於引用推流或播放URL中?前面的部分。

例如推流URL為rtmp://domain.aliyundoc.com/appname/streamname?token=1&name=xr,那麼${1}=appname${2}=streamname

字母變數

字母變數例如${arg_token}${arg_name},用於引用推流或播放URL中?後面的部分。

例如推流URL為rtmp://domain.aliyundoc.com/appname/streamname?token=1&name=xrc,那麼${arg_token}=1${arg_name}=xrc

自訂變數

自訂變數以udv_首碼開頭,自訂變數目前支援${udv_host}${udv_ip},分別用於引用host和推流端IP。

ngx變數

所有的ngx.var.*的變數可以直接引用,例如${args}可以引用ngx.var.args

所有通過變數引用的值在拼接鑒權地址時,都會被URL轉義函數ngx.escape_uri處理,避免特殊字元引起歧義。

流名變數

支援添加videoname=${stream_name} 的形式,${stream_name}會被播放請求的流名所替代。

說明

如果推流或播流地址為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=***