You need to enable JavaScript to run this app.
内容分发网络

内容分发网络

复制全文
规则引擎
规则引擎概览
复制全文
规则引擎概览

功能简介

火山引擎内容分发网络(CDN)的规则引擎提供了自定义请求处理的能力。您可以通过设置一系列匹配条件和执行动作,来控制 CDN 节点对用户请求的响应方式。例如,您可以实现自定义缓存策略、URL 重写、访问控制、以及请求头和响应头的操作。本文将详细介绍规则引擎的核心概念、处理流程、配置优先级以及具体配置项,并通过示例帮助您快速上手。

说明

并非所有 CDN 特性都支持在规则引擎中配置。例如,"回源参数设置" 和 "Multi-range" 等特性只能在“分阶段配置”中设置。有关规则引擎支持的 CDN 特性,请参阅 动作列表

核心概念

规则引擎包含以下核心概念:

  • 规则:规则是规则引擎配置的基本单位,用于定义 CDN 如何处理特定类型的请求。每条规则都包含一个 IF...ELSE... 结构的条件表达式。
  • 子规则:子规则嵌套在父规则的 IFELSE 分支下,用于实现更精细的逻辑控制。当请求满足父规则的条件时,CDN 会在执行父规则中定义的动作后继续处理父规则下的子规则。每条规则的 IFELSE 分支下总共可包含最多 10 条子规则。子规则不能再嵌套。
  • 条件表达式:条件表达式是规则的核心,用于定义匹配用户请求的逻辑以及 CDN 需要执行的动作。条件表达式由 IFELSE 两部分组成。如果请求满足 IF 中定义的条件,则 CDN 执行 IF 下的动作;否则,执行 ELSE 下的动作。
  • 匹配条件:匹配条件用于定义 IF 语句的匹配逻辑。您可以创建一个或多个匹配条件,并定义匹配条件之间的逻辑关系。逻辑关系有 全部满足满足任意。匹配条件有以下类型:
    • 单条件:由条件类型、运算符和匹配值组成。
    • 条件组:包含多个单条件及单条件之间的逻辑关系。
  • 动作:动作表示 CDN 在请求满足匹配条件后执行的具体操作,例如重定向 URL 或修改 HTTP 响应头。

下图展示了这些概念之间的关系:
Image

创建规则

规则引擎提供以下三种创建规则的方式:

  • 普通创建:创建一条空白规则。
  • 使用模板创建:基于预设的模板来创建规则。模板中包含了特定场景的配置。
  • 复制已有规则的 DSL 代码:基于已有规则的 DSL 代码来创建规则。

Image

普通创建

创建一个空白规则,然后根据您的需求配置规则。

使用模板创建

规则引擎为常见场景提供了配置模板。您可以基于模板创建规则,以提高配置效率。
Image
例如,在配置精细化的封禁策略时,您可以选择 精细化封禁规则 模板来生成基础配置。之后,您只需要微调规则配置以适配您的业务场景。
Image

复制已有规则的 DSL 代码

在规则引擎中,系统会为每条规则生成对应的 DSL 代码。在规则的右上方,您可以点击 DSL 来查看代码。您可以复制已有规则的 DSL 代码来创建规则,然后进一步修改规则配置。
Image

最近更新时间:2026.03.24 12:02:05
这个页面对您有帮助吗?
有用
有用
无用
无用