User-Agent是HTTP要求標頭的一部分,包含使用者訪問時所使用的作業系統及版本、瀏覽器類型及版本等標識資訊。您可以通過配置User-Agent黑白名單規則,限制訪問CDN資源的使用者,提升CDN的安全性。
注意事項
User-Agent黑名單與User-Agent白名單二選一,不可同時配置。
如果使用者請求中攜帶的User-Agent欄位的值命中了User-Agent黑名單中的值,則帶有該UserAgent值的請求仍可訪問到CDN節點,但是會被CDN節點拒絕並返回403狀態代碼,並且CDN日誌中仍會記錄該請求記錄。
配置User-Agent黑白名單規則,限制訪問CDN資源的使用者,提升CDN的安全性,因此在惡意請求被CDN節點攔截的同時,會產生少量的流量費用,如果用戶端使用HTTPS協議訪問,還會產生HTTPS請求數費用(因為攔截惡意請求的時候,也同時消耗了CDN節點的處理資源)。
操作步驟
登入CDN控制台。
在左側導覽列,單擊域名管理。
在域名管理頁面,找到目標網域名稱,單擊操作列的管理。
在指定網域名稱的左側導覽列,單擊访问控制。
單擊UA黑/白名单頁簽。
在UA黑/白名单頁簽下,單擊修改配置。
根據介面提示,配置User-Agent的黑名单或白名单。
參數
說明
類型
User-Agent名單類型如下:
黑名单
HTTP要求標頭中的User-Agent欄位命中黑名單的情況下,使用者將無法訪問所請求的資源,並返回403狀態代碼。
白名单
只有HTTP要求標頭中的User-Agent欄位命中白名單的情況下,使用者才能訪問加速網域名稱下的資源。
規則
配置User-Agent欄位時,用豎線(|)分割多個值,支援萬用字元號(*)。例如:
*curl*|*IE*|*chrome*|*firefox*。說明如果您需要對使用者請求中攜帶了User-Agent要求標頭,但是值為空白的情況做存取控制,您可以使用參數
this-is-empty-ua來表示User-Agent值為空白。白名單下:規則中包含
this-is-empty-ua,表示如果使用者請求中攜帶了User-Agent要求標頭,但是值為空白,則允許該請求。黑名單下:規則中包含
this-is-empty-ua,表示如果使用者請求中攜帶了User-Agent要求標頭,但是值為空白,則拒絕該請求。
如果您需要對使用者請求中不攜帶User-Agent要求標頭的情況做存取控制,目前UA黑白名單功能暫不支援。您可以通過邊緣指令碼功能來實現,具體請參見邊緣指令碼;或者提交工單申請後台配置。
規則條件
規則條件能夠對使用者請求中攜帶的各種參數資訊進行識別,以此來決定某個配置是否對該請求生效。
不使用:不使用規則條件。
若需新增或編輯規則條件,請在規則引擎中進行管理。
單擊確定,完成配置。
配置樣本
樣本一:白名單
規則:
*IE*|*firefox*結果說明:只有當請求來源於IE或者Firefox瀏覽器時,才可以訪問所請求的資源,其餘請求均不可訪問。
樣本二:黑名單
規則:
*IE*|this-is-empty-ua結果說明:當請求來源於IE瀏覽器或者要求標頭中攜帶的User-Agent欄位值為空白時,均不可訪問所請求的資源。