您可以配置User-Agent黑名单和白名单实现对访客身份的识别和过滤,从而限制访问CDN资源的用户,提升CDN的安全性。本文为您介绍User-Agent黑白名单的配置方法。

背景信息

User-Agent是HTTP请求头的一部分,包含用户访问时所使用的操作系统及版本、浏览器类型及版本等标识信息。

配置UA黑白名单后,用户请求资源时,CDN将获取用户请求时HTTP请求头中的User-Agent字段,同配置中的黑/白名单进行匹配:
  • User-Agent黑名单:若HTTP请求头中的User-Agent字段命中黑名单,用户将无法访问所请求的资源,并返回403状态码。
  • User-Agent白名单:只有HTTP请求头中的User-Agent字段命中白名单,用户才能访问所请求的资源。
说明
  • User-Agent黑名单与User-Agent白名单二选一,不可同时配置。
  • 如果您的UserAgent字段被加入黑名单,该带有UserAgent字段的请求仍可访问到CDN节点,但是会被CDN节点拒绝并返回403,CDN日志中仍会记录这些黑名单中的UserAgent字段请求记录。

操作步骤

  1. 登录CDN控制台
  2. 在左侧导航栏,单击域名管理
  3. 域名管理页面,单击目标域名对应的管理
  4. 在指定域名的左侧导航栏,单击访问控制
  5. 单击UA黑/白名单页签。
  6. UA黑/白名单页签下,单击修改配置
  7. 根据界面提示,配置User-Agent的黑名单白名单
    UA黑/白名单
    参数 说明
    名单类型
    User-Agent名单类型如下:
    • 黑名单

      HTTP请求头中的User-Agent字段命中黑名单的情况下,用户将无法访问加速域名下的所有资源。

    • 白名单

      只有HTTP请求头中的User-Agent字段命中白名单的情况下,用户才能访问加速域名下的资源。

    规则 配置User-Agent字段时,用竖线(|)分割多个值,支持通配符号(*)。例如:*curl*|*IE*|*chrome*|*firefox*
    说明
    您可以使用^$表示,黑白名单规则下允许HTTP请求Header中的User-Agent字段为空。
    • 白名单下:规则中包含^$,表示如果请求中的User-Agent为空,则允许该请求。
    • 黑名单下:规则中包含^$,表示如果请求中的User-Agent为空,则拒绝该请求。
  8. 单击确定,完成配置。

配置示例

  • 示例二:黑名单

    规则:*IE*|*^$*

    结果说明:当请求来源于IE浏览器或请求头不携带User-Agent字段时,均不可访问所请求的资源。

  • 示例一:白名单

    规则:*IE*|*firefox*

    结果说明:只有当请求来源于IE或者火狐浏览器时,才可以访问所请求的资源,其余请求均不可访问。