通過配置IP黑白名單過濾使用者請求,攔截或允許特定IP的訪問,可以有效限制訪問來源,解決惡意IP盜刷、攻擊等問題。
注意事項
該功能預設關閉,IP黑名單與IP白名單二選一,不可同時配置。
最多可配置約700個IPv6地址或者2000個IPv4地址。
配置IP黑名單後,黑名單中的IP請求仍可訪問到CDN節點,但會被CDN節點拒絕並返回403狀態代碼,加速網域名稱的日誌中仍會記錄黑名單中這些IP的請求記錄。
由於IP黑白名單功能採用的是七層HTTP協議的IP識別技術,因此在惡意請求被CDN節點攔截的同時,會產生少量的流量費用,如果用戶端使用HTTPS協議訪問,還會產生HTTPS請求數費用(因為攔截惡意IP的時候,也同時消耗了CDN節點的處理資源)。
少數ISP在特定地區可能會分配私人IP地址給使用者端,導致CDN節點接收到的是使用者的私人IP地址。
說明私人IP位址範圍有以下三個:
A類私人IP地址:10.0.0.0~10.255.255.255,子網路遮罩:10.0.0.0/8
B類私人IP地址:172.16.0.0~172.31.255.255,子網路遮罩:172.16.0.0/12
C類私人IP地址:192.168.0.0~192.168.255.255,子網路遮罩:192.168.0.0/16
IP地址校正模式
用戶端與CDN節點建立串連時,是否經過Proxy 伺服器,會影響用戶端真實IP、用戶端與CDN節點建連IP。假設用戶端真實IP為10.10.10.10
,Proxy 伺服器IP為192.168.0.1
。
沒有經過Proxy 伺服器:
使用者請求中x-forwarded-for要求標頭值:
10.10.10.10
。用戶端真實IP(即x-forwarded-for要求標頭攜帶的第一個IP)=用戶端與CDN節點建連IP=
10.10.10.10
。
經過Proxy 伺服器:
使用者請求中x-forwarded-for要求標頭值:
10.10.10.10,192.168.0.1
。用戶端真實IP(即x-forwarded-for要求標頭攜帶的第一個IP)=
10.10.10.10
。用戶端與CDN節點建連IP=Proxy 伺服器IP=
192.168.0.1
。用戶端真實IP(即x-forwarded-for要求標頭攜帶的第一個IP)≠用戶端與CDN節點建連IP。
對於不同的IP地址校正對象,ApsaraVideo for VOD的IP黑白名單功能支援三種IP地址校正模式。
IP地址校正模式 | 說明 |
使用使用者的x-forwarded-for要求標頭作為判斷依據 | 該模式為預設模式。該模式校正的是使用者請求中x-forwarded-for要求標頭攜帶的左邊第一個IP,這個IP對應用戶端真實IP。 如果用戶端與CDN節點之間有經過Proxy 伺服器,那麼用戶端與CDN節點建連使用的IP為Proxy 伺服器的IP,這種情況下使用“使用使用者的x-forwarded-for要求標頭作為判斷依據”模式進行IP黑白名單存取控制可能會存在不準確的情況。 |
使用真實建連IP作為判斷依據 | 該模式校正的是用戶端與CDN節點之間建連使用的IP。 |
同時使用x-forwarded-for和真實建連IP作為判斷依據 | 同時校正以下兩個IP地址資訊:
|
操作步驟
- 登入ApsaraVideo for VOD控制台。
在左側導覽列選擇組態管理 > 分發加速配置 > 網域名稱管理,進入到網域名稱管理頁面。
在網域名稱管理頁面,找到目標網域名稱,單擊操作列的配置。
在指定網域名稱的左側導覽列,單擊存取控制。
在IP黑/白名單頁簽,單擊修改配置。
根據介面提示,配置IP黑名單或IP白名單。
參數
說明
名單類型
黑名單
黑名單內的IP無法訪問加速網域名稱下的所有資源。
白名單
只有白名單內的IP能訪問加速網域名稱下的資源,白名單以外的IP均無法訪問。
規則
輸入IP段(不可重複,例如:
192.168.0.0/24
)或IP地址(例如192.168.0.1
)。支援IPv6地址、IPv4地址,配置多個IP時使用分行符號分隔。說明規則輸入框最大支援輸入30 KB長度的字元,考慮到IP地址的字串長度有長有短,因此最多大約可配置700個IPv6地址或者2000個IPv4地址。
IPv6:最多可配置約700個IPv6地址,IP黑名單和白名單均支援IPv6地址(地址中的英文字母不區分大小寫,即支援全大寫、全小寫或大小寫混合)。例如:
FC00:AA3:0:23:3:300:300A:1234
或fc00:0aa3:0000:0023:0003:0300:300a:1234
。IPv6地址不支援::
縮寫格式,例如:不支援FC00:0AA3::0023:0003:0300:300A:1234
。支援輸入IP段,例如:FC00:0AA3:0000:0000:0000:0000:0000:0000/48
。IPv4:最多可配置約2000個IPv4地址。
IP地址字串的總長度不能超過30 KB。
說明規則內容不支援輸入通配網路地址
0.0.0.0/0
。如果需要表示全量IPv4地址,可以用以下兩個子網來表示:
0.0.0.0/1
128.0.0.0/1
如果需要表示全量IPv6地址,可以用以下兩個子網來表示:
0000:0000:0000:0000:0000:0000:0000:0000/1
8000:0000:0000:0000:0000:0000:0000:0000/1
IP規則
支援選擇以下三種規則:
使用使用者的x-forwarded-for要求標頭作為判斷依據
使用真實建連IP作為判斷依據
同時使用x-forwarded-for和真實建連IP作為判斷依據
如果x-forwarded-for要求標頭沒有攜帶IP的話,將使用建聯IP。
單擊確定,完成配置。
配置樣本
白名單
規則:
192.168.2.0/24
結果:只有用戶端IP在
192.168.2.1
~192.168.2.254
位址範圍(包含192.168.2.1
和192.168.2.254
)時,才能訪問該加速網域名稱下的資源。黑名單
規則:
192.168.0.1
結果:當用戶端IP為
192.168.0.1
時,禁止訪問該加速網域名稱下的所有資源。
常見問題
相關API
BatchSetVodDomainConfigs - 大量設定網域名稱:調用BatchSetVodDomainConfigs進行批量網域名稱配置,通過設定ip_black_list_set和ip_allow_list_set分別指定IP黑名單和IP白名單。