全部产品
Search
文档中心

Web 应用防火墙:防护配置常见问题

更新时间:Sep 14, 2026

本文列举了Web应用防火墙(Web Application Firewall,简称WAF)3.0版本防护配置过程中,可能遇见的问题和解决方案。

WAF控制台无法找到指定的防护规则ID原因?

当无法在WAF控制台找到指定规则ID时,请根据规则类型,逐条进行检查:

内置Web核心防护规则查找

  1. 登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地非中国内地

  2. 在左侧导航栏,选择防护配置 > Web 核心防护 > Web 核心防护规则

  3. 定位并展开目标防护模板,单击操作列的引擎配置

  4. 在弹出的引擎配置页面进行搜索。

自定义规则查找

针对Web 核心防护下的其他防护模块(如自定义规则CC防护扫描防护等),其自定义规则的查找步骤如下:

  1. 在左侧导航栏,选择防护配置 > Web 核心防护

  2. 在该页面进行搜索。

白名单规则查找

  1. 在左侧导航栏,选择防护配置 > 白名单

  2. 在该页面进行搜索。

Bot管理规则查找

Web防护内置规则

  1. 在左侧导航栏,选择防护配置 > BOT管理 > Web防护

  2. 防护规则ID下拉框中输入规则 ID(如23009863)进行搜索,即可定位到对应的 Bot 管理规则。

App防护内置规则

  1. 在左侧导航栏,选择防护配置 > BOT管理 > App防护

  2. 在该页面进行搜索。

高级自定义规则

  1. 在左侧导航栏,选择防护配置 > BOT管理 > 高级自定义规则

  2. 在该页面进行搜索。

防护规则被删除

如果规则在上述位置都找不到,可能原因是规则被删除,可以使用操作审计,查询是否有事件名称为DeleteDefenseRuleDeleteDefenseTemplate的事件,具体步骤,请参见通过操作审计控制台查询事件

WAF日志中acl_action:block是否实际阻断请求?

acl_action:block不能直接说明请求被阻断,如果acl_test为true,表示观察模式,即仅记录日志,不触发拦截等防护动作。请求是否被实际阻断需要查询final_action字段,final_action:block才表示阻断。

配置自定义规则匹配字段Body Parameter后为何不生效?

可能原因是填写的匹配内容长度过短,使用Body Parameter字段时请确保匹配内容长度大于四个字符,否则流量无法被检测。例如,配置匹配字段为Body Parameter,参数名为name,逻辑符为等于,匹配内容为David(长度为 5,满足大于四个字符的要求)。

如何让某个域名的请求不经过CC防护检测?

如果您需要让某个域名的请求不经过CC防护检测,您可以参考以下任意方案进行配置。

通过创建白名单规则

  1. (可选)将不需要经过CC防护检测的域名添加为防护对象。具体操作,请参见手动添加防护对象。只有ALB实例中的域名需要执行该操作。

  2. 创建白名单规则。白名单规则的不检测模块CC防护,规则模板的生效对象为不需要经过CC防护检测的域名。具体操作,请参见白名单

完成以上配置后,被添加到白名单规则中的域名的请求不经过CC防护检测。

通过创建CC防护规则

域名不属于ALB实例

  1. 创建CC防护规则。规则模板的生效对象为不需要经过CC防护检测的域名。具体操作,请参见设置CC防护规则防御CC攻击

  2. 关闭该CC防护规则的模板开关

完成以上配置后,被添加到已关闭CC防护规则中的域名的请求不经过CC防护检测。

域名属于ALB实例

  1. 将ALB实例中的所有域名添加为防护对象。具体操作,请参见手动添加防护对象

  2. 创建两个CC防护规则。具体操作,请参见设置CC防护规则防御CC攻击

    防护规则配置要求如下:

    • 防护规则A:根据业务需要配置防护模式正常模式严格模式生效对象为ALB实例中需要经过CC防护检测的域名。

    • 防护规则B:生效对象为不需要经过CC防护检测的域名和ALB实例。

  3. 开启CC防护规则A的模板开关,关闭CC防护规则B的模板开关

完成以上配置后,已添加到防护规则A的域名的请求经过CC防护检测,已添加到防护规则B的域名的请求不经过CC防护检测。

为什么URL匹配字段包含双斜杠(//)的自定义防护策略规则不会生效?

由于WAF的规则引擎在处理URL匹配字段时会进行标准化处理,默认将连续的正斜杠(/)进行压缩,因此无法正确匹配包含双斜杠(//)URL的自定义防护策略规则。

如果您需要对包含双斜杠(//)的URL设置ACL访问控制,您可以直接设置该URL对应的单斜杠路径作为匹配条件。例如,如果需要将//api/sms/request作为URL匹配字段的条件值,您只需在匹配内容中填写/api/sms/request,WAF即可针对包含该内容的请求进行访问控制。

如何通过请求 ID(Request ID)排查 WAF 拦截原因?

当请求被 WAF拦截时,系统将在响应中返回唯一的请求 ID(Request ID)。请利用该 ID 在安全报表或日志中检索详细信息,以定位拦截原因。

  1. 获取请求 ID:请求被拦截后,拦截页面将默认显示请求 ID。请复制该 ID 以供后续查询使用。image

  2. 进入 WAF 控制台查询:登录Web应用防火墙3.0控制台,在左侧导航栏,选择检测响应 > 安全报表。设定查询时间范围,在“请输入traceid”搜索框中粘贴请求 ID 进行检索。

    说明

    若防护对象已开启日志投递功能,也可在检测响应 > 日志服务 页面进行查询。

  3. 分析拦截原因:在安全报表页面下方,查看该请求命中的防护模块命中规则。若确认该请求为正常业务流量,请在日志列表操作列单击误报屏蔽,将其加入白名单。更多信息,请参见白名单

按量付费版WAF如何关闭API安全功能?

对于按量付费版WAF实例,若不再需要使用API安全功能,请按以下步骤进行关闭。

  1. 登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地非中国内地

  2. 在左侧导航栏,选择防护配置 > API安全

  3. 进入策略配置 > 生效对象配置页签。

  4. 关闭所有防护对象与防护对象组的基础检测开关,操作完成后,API安全相关的历史数据将被清除且无法查看。

阿里云 WAF 是否默认注入 CORS 响应头或动态回显 Origin 请求头?

WAF 不会更改请求的 CORS 头,也没有相关配置项用于自动注入 CORS 响应头或动态回显 Origin。CORS 策略应由源站服务器或应用程序自行配置和管理。

WAF 返回 413 Request Entity Too Large 错误的原因是什么?

原因:上传的文件大小超过了 WAF 设定的单次请求大小限制(当前限制为 2 GB)。

处理方法

  • 调整上传文件的大小,确保单次请求低于 2 GB。

  • 升级WAF至旗舰版,支持最大10GB文件,具体信息,请参见控制上传文件大小

收到WAF 拦截告警是否意味着业务受到了影响?

收到 WAF 拦截告警表明安全防护机制正在生效,并不直接意味着业务受损。但在特定场景下,需排查是否存在误拦截或防护失效风险。

告警含义

WAF 拦截告警表示系统已成功识别并阻断命中安全规则的恶意请求。此类请求在到达源站前已被清洗,不会消耗源站资源或造成实际攻击伤害,属于防护机制正常工作的表现。

需介入排查的场景

  1. 误报:若合法用户访问(如后台登录、API 调用)被拦截,说明规则配置过严导致误伤。此时业务可用性已受影响,需调整防护规则或将相关特征加入白名单。

  2. 大规模 CC 攻击:遭遇高频 CC 攻击时,尽管 WAF 执行了拦截,但仍可能存在漏拦情况。此外,攻击流量过大可能触发黑洞机制,导致 WAF 服务不可用。具体防御策略请参见设置CC防护规则防御CC攻击

WAF 默认防护策略为何不拦截 .py/.sh 等脚本文件上传?

WAF 默认防护策略主要针对高频 Web 攻击(如 SQL 注入、XSS)及常见 WebShell(JSP、PHP、ASP)。

.py.sh.cmd.bat 等脚本文件扩展名在合法业务中常被用于后台任务或批处理。为避免误拦截正常业务请求,默认策略未将此类扩展名纳入全局拦截范围。

若需拦截,建议通过自定义规则,匹配上传接口路径及文件名后缀进行精准管控。

如何配置仅拦截境外 IP 但放行特定搜索引擎爬虫?

可以通过组合配置实现:

  1. 开启设置区域封禁规则封禁特定区域请求功能,选择拦截所有中国境外区域。

  2. 创建白名单匹配条件设置为 User-Agent 包含特定爬虫标识(如 Googlebot、bingbot),不检测模块区域封禁

前缀匹配与正则匹配有什么区别?如何选择?

  1. 匹配能力:前缀匹配属于简单模式,仅支持固定字符串的匹配;正则匹配属于高级规则,支持复杂的模式匹配。

  2. 性能表现:前缀匹配执行效率高;正则匹配由于底层引擎的复杂性,在使用按量付费版时消耗的费用略高。

  3. 规则调优建议:若当前规则未按预期拦截,需检查是否因匹配方式不当导致。例如,对于 URI 路径,可尝试使用包含多值之一正则匹配来替代单一的前缀/后缀匹配,以提高命中率。在使用正则匹配时,务必注意正则表达式的写法规范,避免复杂的嵌套。

配置白名单后是否立即生效?是否需要等待封禁时间结束?

添加白名单规则后即时生效,无需等待原有的封禁时间结束。

若配置后仍被拦截,请检查以下内容:

  • 模板和规则开关是否已开启。

  • 生效对象设置是否正确。

  • 匹配条件是否配置准确。

  • 确认 WAF 前是否存在 CDN、高防等七层代理。若存在,需在接入资产时正确配置WAF前是否有七层代理(高防/CDN等)选项,否则将导致 WAF 无法获取真实的客户端 IP。

命中频率控制类自定义规则并被加入黑名单的对象,是否支持手动解封或永久封禁?

  • 手动解封:系统不支持直接手动解除该类封禁。如需立即恢复访问,可通过以下两种方式处理:

    • 配置白名单规则(推荐):通过添加白名单规则实现放行。

    • 修改规则配置:调整规则的匹配条件规则动作统计对象阈值。修改上述任意配置后,由该规则生成的历史黑名单将立即失效,所有被拉黑对象随之解封。

  • 永久封禁:不支持。黑名单处置的最长生效时长为 86400 秒(24 小时)。

如何配置自定义规则以拦截无 Referer 或 Referer 为空的请求?

需同时添加以下两个匹配条件以覆盖所有场景:

  • Header 字段 Referer 的逻辑符设置为不存在

  • Header 字段 Referer 的逻辑符设置为内容为空

风险提示:

该配置可能会屏蔽不携带 Referer 的合法请求(例如:服务端内部调用、API 接口请求、客户端 SDK 直连请求)。建议结合白名单规则,对上述合法流量予以放行。

为什么不同端口(如 80 和 443)触发的防护规则不一致?

WAF 的防护模板是基于具体的防护对象独立生效的。若发现特定端口未触发预期规则,通常是因为该端口未正确接入 WAF 或未绑定相应的防护模板。

排查与解决建议:

  1. 确认端口接入状态:检查未触发规则的端口是否已成功接入至 WAF 中。

  2. 确认策略绑定:确保该端口对应的防护对象已正确关联了预期的防护模板。

同时配置了白名单和其他防护模块,谁的优先级更高?

白名单规则的优先级最高。当请求命中白名单规则时,系统将跳过该规则所配置的不检测模块

是否支持通过 API 向 IP 黑名单或自定义规则中添加 IP?

支持,具体内容,请参见创建Web核心防护规则

WAF 指纹规则(JA3/JA4/HTTP2)的匹配原理是什么?为何非 IP 维度也能命中?

指纹规则是基于客户端浏览器或工具的特征生成的哈希值进行匹配,而非基于 IP 地址。具体包括:

  1. JA3 指纹:对 TLS 握手关键参数(版本、密码套件等)进行 MD5 哈希生成。

  2. JA4 指纹:引入更多算法(浏览器版本、OS 等)以减少重复性。

  3. HTTP/2 指纹:根据 HTTP/2 客户端原始指纹利用 MD5 算法生成。

只要请求带有匹配的指纹特征,无论 IP 归属地如何,均会触发规则。

WAF 是否支持配置域名跳转(如根域名跳转至 www 子域名)?

不支持。WAF 本身不提供域名跳转功能。如需实现此类跳转,请在源站服务器或 DNS 解析层面进行配置。

如何通过 API 查询和修改 WAF 3.0 白名单规则?

WAF 白名单功能需通过调用 CreateDefenseRule 接口并配置 whitelist 参数来实现白名单规则的创建与修改。具体操作,请参见创建Web核心防护规则

关闭 Bot 管理拦截规则后域名仍无法访问如何排查?

当关闭 Bot 管理拦截规则后域名仍无法访问时,可按以下步骤排查:

  1. 排除缓存干扰:使用浏览器无痕模式访问域名,排除本地缓存干扰。

  2. 确认状态码:确认具体的 HTTP 状态码(如 405 Method Not Allowed 等),判断是否为其他防护模块或源站拦截。

  3. 核实拦截原因:获取最新的拦截记录 ID(Request ID),参见本文如何通过请求 ID(Request ID)排查 WAF 拦截原因?章节核实实际命中的规则,确认是否因其他防护策略(如自定义规则、CC 防护等)导致拦截。

WAF 自定义规则配置后多久生效?

WAF 自定义规则配置后通常实时生效,无需等待。

同一域名同时服务于 Web 端和小程序时,如何配置防护规则以避免误拦截?

当同一域名同时服务于 Web 端和小程序时,为避免误拦截,请按以下建议配置防护规则:

  1. 域名分离:优先为小程序和 Web 端配置不同的二级域名,并分别应用防护策略。

  2. 接口排除:若必须共用域名,在自定义规则中排除小程序相关接口或 User-Agent,避免对人机校验、高级自定义规则等产生兼容性问题。

创建了多个WAF 自定义规则模板,模板之间的优先级是如何排序的?

WAF 自定义规则模板的优先级说明如下:

  1. 排序依据:自定义规则的触发顺序不按规则 ID 排序。

  2. 生效逻辑:当请求同时命中同一防护模块下的多条规则且规则动作相同时,最终生效的规则是随机的。

  3. 优化建议:通过精细化匹配条件减少规则重叠,或利用白名单规则调整预期放行逻辑。

WAF 拦截了预期放行的 CDN/云厂商 IP 如何排查?

WAF 拦截了预期放行的 CDN/云厂商 IP 的排查方法如下:

  1. 原因分析:WAF 显示的 IP 地理位置基于 IP 库判定,可能与 CDN 边缘节点的实际物理位置不同(如 AWS CloudFront 节点 IP 可能显示为非美国地区)。

  2. 核实归属:建议核实客户端真实网络环境,或通过云厂商官方 IP 列表确认节点归属。

  3. 放行处理:必要时将该 IP 加入白名单以避免误拦截。

IP 黑名单是否支持按域名拉黑或拦截后自动封禁关联域名?

WAF 3.0 IP 黑名单的能力边界说明如下:

  1. 匹配维度:IP 黑名单仅支持基于客户端 IP 地址或 IP 段进行封禁,不支持直接配置域名黑名单。

  2. 作用范围:WAF 拦截请求后仅对当前关联域名的防护对象生效,不支持自动将访问 IP 加入全局黑名单,从而禁止其访问非当前防护对象的网站或域名。

WAF 是否会针对扫描器的流量删除 HSTS 响应头?

WAF 对漏洞扫描器流量和 HSTS 响应头的处理说明如下:

  1. 默认行为:WAF 默认不会删除 HSTS 响应头,也不会对扫描器流量做特殊处理。

  2. 拦截触发:仅当扫描流量携带疑似攻击特征并触发拦截时,WAF 才会执行相应的阻断或验证动作。