You need to enable JavaScript to run this app.
导航
自定义拦截
最近更新时间:2024.05.10 19:41:04首次发布时间:2024.01.16 16:27:00

本文档介绍火山引擎内容分发网络中用户请求的自定义拦截功能。

该功能使您可以对请求路径、查询参数和客户端 IP 地址设置过滤条件,并对符合过滤条件的请求设置拦截方式。拦截的方式包括重定向以及响应 4xx 状态码。

说明

该功能目前以白名单的方式对外开放。如果您需要此功能,请 提交工单

操作步骤

  1. 登录 火山引擎内容分发网络控制台

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

  3. 域名管理 页面,找到需要配置的域名,点击 管理。 页面上方的筛选条件和搜索框可以帮助您快速找到要配置的域名。

  4. 在域名页面上,点击 访问控制 页签。

  5. 在页面右上方,点击 编辑配置

  6. 自定义拦截规则 下方,设置 状态开启

  7. 点击 添加规则。您最多可以创建 10 条规则。

  8. 编辑规则 页面,根据 配置说明 进行设置。

  9. 设置完成后, 在页面右上角点击 提交编辑

alt

配置说明

说明

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

配置说明
优先级表示规则的优先级。数字 1 的规则优先级最高。在收到请求时,内容分发网络按规则的优先级,从高到低尝试将请求与规则匹配。如果请求匹配了某一条规则,内容分发网络就停止匹配其余规则。您可以通过拖拽调整规则的优先级。
规则名称表示规则的名称。

生效对象

表示一个或者多个过滤条件,用于对请求进行过滤。点击 添加 创建一个过滤条件,您最多可以创建 5 个过滤条件。如果您不添加任何过滤条件,内容分发网络会拦截所有请求。

在每个过滤条件中,您需要设置过滤类型、对比类型和过滤值。

过滤类型的说明如下:

  • 文件全路径:表示请求 URL 中的路径。过滤值中的每个路径必须以斜杠(/)开头。多个路径之间以分号(;)分隔。

  • 文件目录:表示路径中的目录。过滤值中的每个目录必须以斜杠(/)开头和结尾。多个目录之间以分号(;)分隔。

  • 文件后缀:表示路径末尾的扩展名。过滤值中的扩展名无需以句点(.)开头。多个后缀之间以分号(;)分隔。

  • 全路径正则:表示一个正则表达式,用于匹配路径。

  • 请求 FullQuery:表示请求 URL 中以 & 连接的所有查询参数,通过一个正则表达式来匹配。例如 a\d+b&x\d+y 可用于匹配请求 URL 为 http://www.example.com/file?a34b&x7897y 的请求。

  • 请求 Query:基于对比类型,表示请求 URL 中的一个或者多个查询参数。多个查询参数之间以分号(;)分隔。

  • 客户端 IP:表示客户端的 IP 地址。过滤值可以是 IPv4 地址、IPv4 网段、IPv6 地址或 IPv6 CIDR 网段。

要使用 全路径正则请求 FullQuery 这两个过滤类型,请 提交工单

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

  • 等于: 表示如果请求匹配了任何一个过滤值,该请求就符合过滤条件。

  • 不等于: 表示如果请求不匹配所有过滤值,该请求才符合过滤条件。

  • 属于/属于全局名单:仅适用于 请求 Query,表示一个类型是 "通用列表" 的全局配置。"通用列表" 用来定义大量过滤值。全局配置是一个白名单功能,要使用该功能,请 提交工单

拦截方式

表示内容分发网络如何拦截符合过滤条件的请求。该配置的可选值有:

  • 4xx 错误:表示内容分发网络响应一个 4xx 的错误码。

  • 重定向:表示内容分发网络将请求重定向到另一个 URL。

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

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

配置说明
响应状态码表示对于拦截的请求,内容分发网络的响应状态码。您需要设置一个 400-499 范围内的错误码,例如 405

响应 Body

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

  • 系统默认:表示内容分发网络使用 4xx 错误码的标准响应正文。

  • 自定义:表示内容分发网络使用一个自定义响应页面。您可以在 响应页面 下拉列表中选择一个自定义页面。下拉列表中的页面来自 全局配置 页面下的 自定义响应页面 标签页。需要留意的是,"全局配置" 是一个白名单功能。要使用该功能,请 提交工单

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

配置说明
响应状态码表示对于拦截的请求,内容分发网络的响应状态码。您可以设置 301 或者 302
Location表示一个重定向 URL。

更多信息

配置输入要求

配置说明
规则名称长度不超过 20 个字符,可以包含字母、数字、下划线(_)、中划线(-)、汉字。一个汉字占 3 个字符。

生效对象

表示过滤条件的配置。

  • 如果过滤类型是 文件全路径,您设置的文件路径必须以斜杠(/)开头。您可以在路径中使用一个或者多个星号(*),每个星号表示一个或者多个字符。例如:/www/img/my*image.png

  • 如果过滤类型是 文件目录,您设置的目录必须以斜杠(/)开头和结尾。例如:/www/img/

  • 如果过滤类型是 文件后缀,您设置的后缀无需以句点(.)开头。例如:png;txt

  • 如果过滤类型是 文件全路径文件目录文件后缀,您可以设置多个以分号(;)分隔的过滤值,总长度不能超过 1,024 个字符。过滤值不能包含以下字符:

    • 连续斜杠(//)、空格、美元符号($)、问号(?)、Delete(ASCII code 127)。
  • 如果过滤类型是 请求 Query,您设置的参数和过滤值的有以下要求:

    • 长度不能超过 256 个字符,可以包含数字、字母、百分号(%)、下划线(_)、中划线(-)。
    • 如果对比类型是 等于 或者 不等于,您可以设置多个以分号(;)分隔的参数名称。
  • 如果过滤类型是 客户端 IP,您可以设置最多 50 个以分号(;)分隔的 IP 地址。

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