本文列举了Web应用防火墙(Web Application Firewall,简称WAF)3.0版本防护配置过程中,可能遇见的问题和解决方案。
WAF控制台无法找到指定的防护规则ID原因?
当无法在WAF控制台找到指定规则ID时,可能存在以下几种情况,请尝试逐条进行检查:
WAF日志中acl_action:block是否实际阻断请求?
acl_action:block不能直接说明请求被阻断,如果acl_test为true,表示观察模式,即仅记录日志,不触发拦截等防护动作。请求是否被实际阻断需要查询final_action字段,final_action:block才表示阻断。
配置自定义规则匹配字段Body Parameter后为何不生效?
可能原因是填写的匹配内容长度过短,使用Body Parameter字段时请确保匹配内容长度大于四个字符,否则流量无法被检测。
如何让某个域名的请求不经过CC防护检测?
如果您需要让某个域名的请求不经过CC防护检测,您可以参考以下任意方案进行配置。
通过创建白名单规则
- (可选)将不需要经过CC防护检测的域名添加为防护对象。具体操作,请参见手动添加防护对象。只有ALB实例中的域名需要执行该操作。 
- 创建白名单规则。白名单规则的不检测模块为CC防护,规则模板的生效对象为不需要经过CC防护检测的域名。具体操作,请参见设置白名单规则放行特定请求。 
完成以上配置后,被添加到白名单规则中的域名的请求不经过CC防护检测。
通过创建CC防护规则
域名不属于ALB实例
- 创建CC防护规则。规则模板的生效对象为不需要经过CC防护检测的域名。具体操作,请参见设置CC防护规则防御CC攻击。 
- 关闭该CC防护规则的模板开关。 
完成以上配置后,被添加到已关闭CC防护规则中的域名的请求不经过CC防护检测。
域名属于ALB实例
- 将ALB实例中的所有域名添加为防护对象。具体操作,请参见手动添加防护对象。 
- 创建两个CC防护规则。具体操作,请参见设置CC防护规则防御CC攻击。 - 防护规则配置要求如下: - 防护规则A:根据业务需要配置规则动作为防护或防护-紧急,生效对象为ALB实例中需要经过CC防护检测的域名。 
- 防护规则B:生效对象为不需要经过CC防护检测的域名和ALB实例。 
 
- 开启CC防护规则A的模板开关,关闭CC防护规则B的模板开关。 
完成以上配置后,已添加到防护规则A的域名的请求经过CC防护检测,已添加到防护规则B的域名的请求不经过CC防护检测。
为什么URL匹配字段包含双斜杠(//)的自定义防护策略规则不会生效?
由于WAF的规则引擎在处理URL匹配字段时会进行标准化处理,默认将连续的正斜杠(/)进行压缩,因此无法正确匹配包含双斜杠(//)URL的自定义防护策略规则。
如果您需要对包含双斜杠(//)的URL设置ACL访问控制,您可以直接设置该URL对应的单斜杠路径作为匹配条件。例如,如果需要将//api/sms/request作为URL匹配字段的条件值,您只需在匹配内容中填写/api/sms/request,WAF即可针对包含该内容的请求进行访问控制。



