You need to enable JavaScript to run this app.
导航
自定义拦截规则
最近更新时间:2025.10.27 10:41:18首次发布时间:2024.01.16 16:27:00
复制全文
我的收藏
有用
有用
无用
无用

本文档介绍火山引擎内容分发网络(CDN)中的 "自定义拦截" 功能。

该功能使您可以对用户请求中的路径、请求中的查询参数、请求来自的的客户端 IP 地址设置匹配条件,并对符合匹配条件的请求设置 CDN 处理这些请求的方式。

说明

要使用此功能,请 提交工单

功能优先级

CDN 提供的一系列访问控制功能有不同的优先级。在 CDN 处理用户请求时,这些功能按优先级对请求生效。参见 访问控制功能的优先级

操作步骤

  1. 登录 火山引擎内容分发网络控制台
  2. 在左侧导航栏,点击 域名管理
  3. 域名管理 页面,找到需要配置的域名,点击 管理
  4. 定位 自定义拦截规则 模块。
    • 如果您使用的是旧版域名管理页面,点击 编辑配置,然后在 访问控制 标签页中定位 自定义拦截规则 模块。
    • 如果您使用的是新版域名管理页面,点击 编辑域名。在页面左侧的树状配置项列表中,定位 功能配置 > 访问控制 > 自定义拦截规则。如果该模块置灰,点击模块右边的 +
      关于新旧版域名管理页面的区别,参见 新版域名配置
  5. 自定义拦截规则 模块中,设置 状态 为启用。
  6. 点击 新增规则。您最多可以创建 10 条规则。
  7. 编辑规则 页面,根据 配置说明 进行设置。
  8. 设置完成后, 点击 提交编辑

Image

配置说明

说明

关于以下配置的内容输入要求,参见 配置输入要求

配置

说明

规则名称

表示规则的名称。

生效对象

表示一个或者多个匹配条件,用于对请求进行匹配。点击 添加 创建一个匹配条件,您最多可以创建 5 个匹配条件。如果您不添加任何匹配条件,表示所有请求都匹配这条规则。

在每个匹配条件中,您需要设置匹配对象、匹配类型和匹配值。匹配值可以是多个。多个匹配值之间的关系是 "或"。

  • 如果 匹配类型客户端 UA,多个匹配值之间以竖线(
  • 如果 匹配类型 不是 客户端 UA,多个匹配值之间以分号(;)分隔。

匹配类型的说明如下:

  • 文件全路径:表示请求 URL 中的路径。
  • 文件目录:表示路径中的某个目录。
  • 文件后缀:表示路径末尾的扩展名。
  • 全路径正则:表示请求 URL 中的路径,通过正则表达式匹配。
  • 请求 FullQuery:表示请求 URL 中的查询字符串。
  • 请求 Query:表示请求 URL 中的某个查询参数。
  • 客户端 IP:表示客户端的 IP 地址。
  • 客户端 UA:表示请求中 User-Agent 头部。
  • 自定义请求头部:表示请求中的某个头部。

如果匹配类型是 全路径正则请求 FullQuery,匹配值是正则表达式。要使用这两个匹配类型,请 提交工单

关于对比类型,需要留意的是:

  • 等于、匹配:表示如果请求匹配任意匹配值,该请求就符合匹配条件。
  • 不等于、不匹配 :表示如果请求不匹配所有匹配值,该请求才符合匹配条件。
  • 属于/属于全局名单:仅适用于 请求 Query,表示一个类型是 "通用列表" 的全局配置。"通用列表" 用来定义大量匹配值。要指定该对比类型,请 提交工单

拦截方式

表示 CDN 如何处理符合匹配条件的请求。该配置的可选值有:

  • 4xx 错误:表示 CDN 响应一个 4xx 的错误码。
  • 重定向:表示 CDN 将请求重定向到另一个 URL。

如果您计划创建多条规则,每条规则中的 拦截方式 必须相同。

拦截方式4xx 错误 时,您可以设置以下额外配置:

配置

说明

响应状态码

表示 CDN 在拒绝该请求时的响应状态码。您需要设置一个 400-499 范围内的错误码,例如 405

响应 Body

表示响应正文中的内容。该配置有以下选项:

  • 系统默认:表示 CDN 使用 4xx 错误码的标准响应正文。
  • 自定义:表示 CDN 使用一个自定义响应页面。您可以在 响应页面 下拉列表中选择一个自定义页面。下拉列表中的页面来自 全局配置 页面下的 自定义响应页面 标签页。要创建自定义响应页面,请 提交工单

拦截方式重定向 时,您可以设置以下额外配置:

配置

说明

响应状态码

表示 CDN 对满足匹配条件的请求的响应状态码。您可以设置 301 或者 302

Location

表示一个重定向 URL。

规则优先级

规则列表中的规则具有优先级,优先级最高的规则优先生效。对于一个用户请求,如果某条规则与该请求匹配,只有该规则生效,剩余规则不生效。您可以拖动规则来调整规则的优先级。

更多信息

配置输入要求

配置

输入要求

规则名称

长度不超过 20 个字符,可以包含字母、数字、下划线(_)、连字符(-)、汉字。一个汉字占 3 个字符。

生效对象

生效对象中,匹配值的输入要求如下:

  • 路径必须以斜杠(/)开头,可以包含通配符 *,但不能仅仅是 *。例如:/www/img/my*image.png
  • 文件目录必须以斜杠(/)开头和结尾。例如:/www/img/
  • 文件后缀不能以句点(.)开头。例如:png;txt
  • 当匹配类型是 文件全路径文件目录文件后缀 时,匹配值的总长度不能超过 1,024 个字符,且不能包含以下字符:
    • 双斜杠(//)、空格、美元符号($)、问号(?)。
  • 当匹配类型是 请求 Query 时,查询参数名称和参数值有以下要求:
    • 每个匹配条件中只能指定一个参数名称和一个参数值。
    • 长度不能超过 256 个字符。
    • 参数名称可以包含数字、字母、句点(.)、下划线(_)、中划线(-)。
    • 参数值可以包含数字、字母、百分号(%)、下划线(_)、中划线(-)。
  • 当匹配类型是 客户端 IP 时,IP 地址的输入要求如下:
    • 总长度不能超过 30,000 个字符。
    • 数量不能超过 50 个。
    • 只能是 IPv4 地址,支持输入 CIDR 地址块。
    • 不能是 0.0.0.0/0。要表示所有 IP 地址,请输入 0.0.0.0/1;128.0.0.0/1
  • 当匹配类型是 自定义头部客户端 UA 时,头部值的输入要求如下:
    • 总长度不能超过 1,024 个字符。
    • 数量不能超过 50 个。
    • 可以以通配符 * 开头和结尾,但不能仅仅是 *。
  • 当匹配类型是 全路径正则请求 FullQuery 时,正则表达式的总长度不能超过 1,024 个字符。

Location

URL 必须以 http://https:// 开头,长度不能超过 1,024 个字符。