EdgeOne Web 防护功能由多个安全模块组成,请求按固定顺序依次经过每个模块。如果某模块对请求执行了终止性处置动作(例如:拦截、JS 挑战),请求将停止流转,不会进入后续模块。
模块执行顺序
请求按以下顺序依次经过各安全模块:
终止性处置动作 与 非终止性处置动作
处置方式分为两类,它们对请求处理链路的影响不同:
终止性处置动作(拦截、封禁 IP、JS 挑战、托管挑战、重定向、返回指定页面):立即结束请求处理,后续模块不再执行。
非终止性处置动作(放行、观察):请求继续进入后续模块检查。
注意:
“放行”是非终止性处置,仅表示请求通过了当前模块。例如在自定义规则中配置"放行"后,请求仍会继续进入速率限制、CC 攻击防护、Bot 管理、托管规则等后续模块。如果后续模块对请求执行了终止性处置,请求仍然会被拦截。如需让特定请求跳过后续安全模块的检查,请使用 防护例外规则。
模块内的规则匹配逻辑
自定义规则与速率限制
自定义规则和速率限制模块中包含多条规则时,按优先级从高到低匹配(优先级数值越小,优先级越高)。高优先级规则执行终止性处置后,本模块内剩余规则不再匹配。
当多条规则优先级相同时,按以下处置方式顺序执行:观察 → 放行 → 托管挑战 → JS 挑战 → 重定向 → 返回指定页面 → 封禁 IP → 拦截
CC 攻击防护
请求匹配多条规则时,所有匹配的规则均生效。
速率限制的计数机制
命中的所有规则均独立计数,某条规则触发处置不影响其他规则的计数。
防护例外规则 vs 自定义规则“放行”
对比项 | 防护例外规则 | 自定义规则“放行”动作 |
执行位置 | 模块 1(最先执行) | 模块 2 |
作用范围 | 跳过后续指定模块或规则的检查 | 仅通过自定义规则模块 |
后续模块 | 被指定跳过的模块或规则不会检查该请求,其他模块或规则正常检查 | 后续模块正常检查 |
相关文档
处置方式