问题现象

PTS的压测流量被Web应用防火墙拦截。

可能原因

如果您通过PTS压测的服务使用到了云盾 Web 应用防火墙WAF(Web Application Firewall),可能会因为压测流量较大而触发一些拦截、阻断和清洗,进而影响压测的顺利进行。

解决方案

解决的方案有两种:
  • 绕开WAF,例如直接压测后面的SLB公网IP或者其他类型的公网IP。
  • 通过精准访问控制解决,使用该方案之前请务必注意压测的RPS不能超过WAF的QPS规格,如以下操作步骤。
  1. 开启WAF精准访问控制的高级防护。
    • 如果您使用的是WAF包年包月模式,已自动开启该功能。可跳过此步。
    • 如果您使用的是WAF按量付费模式,需开启精准访问控制的高级防护,开启位置见下图。 waf添加规则3
    • 如果您不是WAF包年包月用户,或者按量付费模式下不想开启精准访问控制的高级防护,可使用PTS的来源 IP 扩展功能
  2. 网站设置中的精准访问控制下,配置一个基于User-Agent的防护规则放行所有PTS的压测请求。
    PTS的User-Agent包含一个关键词:Aliyun-PTS。具体操作方式请参见 精准访问控制。规则配置如图所示: waf添加规则
    说明
    • 建议不勾选任何后续安全策略,避免请求继续被拦截。
    • 请注意WAF自身的规则匹配顺序,避免设置的以上规则失效。
    • 出于安全考虑,压测完成之后请删除该放行规则。
    • 如果防护规则中自定义了Header是其他User-Agent则不能使用以上的方法。如有特殊性可参考使用上述方法。
    添加成功之后,可以在相应域名的 精准访问控制列表中看到已配置的规则。 waf添加规则2-