更新时间:2024-10-24 GMT+08:00

配置User-Agent黑白名单

通过配置User-Agent黑名单和白名单实现对访客身份的识别和过滤,从而限制访问CDN资源的用户,提升CDN的安全性。

背景信息

如果您需要通过HTTP请求中的User-Agent字段来实现访问控制,您可以配置CDN的UA黑白名单。

  • User-Agent黑名单:如果匹配到黑名单字段,用户将无法访问当前资源,返回403状态码。
  • User-Agent白名单:携带白名单字段才能访问当前资源,白名单以外的字段均无法访问当前资源,返回403状态码。

注意事项

  • User-Agent黑白名单功能默认关闭。
  • User-Agent黑名单与User-Agent白名单二选一,不可同时配置。

操作步骤

  1. 登录华为云控制台,在控制台首页中选择“ CDN与智能边缘 > 内容分发网络 CDN”,进入CDN控制台。
  2. 在左侧菜单栏中,选择域名管理
  3. 在域名列表中,单击需要修改的域名或域名所在行的“设置”,进入域名配置页面。
  4. 选择“访问控制”页签。
  5. 在User-Agent黑白名单配置模块,单击“编辑”,系统弹出“配置User-Agent黑白名单”对话框,如下图所示。
    图1 配置User-Agent黑白名单

  1. 单击“状态”开关按钮,开启该配置项。
  2. 选择配置的类型,输入规则。

    参数

    说明

    类型

    • 黑名单:携带黑名单字段无法访问到当前资源,返回403状态码。
    • 白名单:携带白名单字段才能访问当前资源,白名单以外的字段均无法访问当前资源,返回403状态码。

    空User-Agent

    空User-Agent指HTTP请求头中User-Agent字段内容为空,或者一个HTTP请求中根本不包含User-Agent字段。设置黑白名单时,如果勾选了此项,那么此类访问请求将遵循黑白名单的过滤规则。

    说明:

    规则中输入“null”表示User-Agent字段的值是“null”,不等于空User-Agent。

    规则

    • 支持数字0-9、字符a-z、A-Z,空格,及特殊符"*"、"."、"-"、"_"、"("、")"、";"、","、"/"、"'"、"#"、"!"、"@"、"$"、"^"、"&"、"+"、"="、"~"、"?"、"""、"["、"]"、"{"、"}"、"\"、":"、"%"。
      说明:

      后台有特殊配置的域名,配置规则时字符"{"、"}"、"("、")"和"["、"]"需要成对出现。

    • 仅支持通配符“*”实现正则匹配,其它字符需要完全匹配。
    • 单条规则长度不超过100个字符。
    • 最多配置50条规则,每行一条规则。
  3. 单击“确定”,完成配置。
  4. (可选)关闭User-Agent黑白名单配置。
    • 关闭“状态”开关即可关闭User-Agent黑白名单配置,此时所有配置将被清空,下次启用User-Agent黑白名单功能时需要重新配置相关参数。

配置示例

加速域名“www.example.com”User-Agent黑白名单配置如下图所示:

当HTTP Request Header中User-Agent如下两种情况时:

User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36

命中黑名单,返回403状态码。