全部产品
Search
文档中心

CDN:配置UA黑白名单

更新时间:Jun 04, 2026

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节点的处理资源)。

操作步骤

  1. 登录CDN控制台

  2. 在左侧导航栏,单击域名管理

  3. 域名管理页面,找到目标域名,单击操作列的管理

  4. 在指定域名的左侧导航栏,单击访问控制

  5. 单击UA黑/白名单页签。

  6. UA黑/白名单页签下,单击修改配置

  7. 根据界面提示,配置User-Agent的黑名单白名单

    参数

    说明

    类型

    User-Agent名单类型如下:

    • 黑名单

      HTTP请求头中的User-Agent字段命中黑名单的情况下,用户将无法访问所请求的资源,并返回403状态码。

    • 白名单

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

    规则

    配置User-Agent字段时,用竖线(|)分割多个值,支持通配符号(*)。例如:*curl*|*IE*|*chrome*|*firefox*

    UA黑白名单规则采用全值匹配模式,不支持子串匹配。例如,直接填写curl/7.68.0只会匹配User-Agent值恰好等于curl/7.68.0的请求,不会匹配包含该字符串的其他User-Agent值。如果您需要匹配User-Agent中包含某个关键字的所有请求,请使用通配符(*)包裹该关键字,例如填写*7.68.0**curl*

    说明
    • 如果您需要对用户请求中携带了User-Agent请求头,但是值为空的情况做访问控制,您可以使用参数this-is-empty-ua来表示User-Agent值为空。

      • 白名单下:规则中包含this-is-empty-ua,表示如果用户请求中携带了User-Agent请求头,但是值为空,则允许该请求。

      • 黑名单下:规则中包含this-is-empty-ua,表示如果用户请求中携带了User-Agent请求头,但是值为空,则拒绝该请求。

    • 如果您需要对用户请求中不携带User-Agent请求头的情况做访问控制,目前UA黑白名单功能暂不支持。您可以通过边缘脚本功能来实现,具体请参见边缘脚本;或者提交工单申请后台配置。

    规则条件

    规则条件能够对用户请求中携带的各种参数信息进行识别,以此来决定某个配置是否对该请求生效。

    重要

    引用规则条件时,按所关联规则条件的优先级匹配,而非按功能自身的配置顺序匹配。

    • 不使用:不使用规则条件。

    • 若需新增或编辑规则条件,请在规则引擎中进行管理。

  8. 单击确定,完成配置。

配置示例

  • 示例一:白名单

    规则:*IE*|*firefox*

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

  • 示例二:黑名单

    规则:*IE*|this-is-empty-ua

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

  • 示例三:黑名单(通配符匹配)

    错误规则:curl/7.68.0

    正确规则:*curl/7.68.0**7.68.0*

    结果说明:直接填写curl/7.68.0无法拦截User-Agent中包含该字符串的请求,因为UA黑白名单规则采用全值匹配,不支持子串匹配。需使用通配符(*)包裹关键字实现模糊匹配。