问题现象

浏览器访问正常,在 PTS 对请求进行调试或压测的时候却出现 403 错误。

可能原因

服务端网关有强校验 Header 中的 UA(User-Agent),对带有不合法的 UA 的请求返回无权限的信息。PTS 发起的请求中默认的 UA 会带有特殊字样,为部分业务来区分统计流量和限流规则。

解决方案

  1. 返回压测场景中 API 的编辑页面,在 Header 定义中添加一个通用的 UA Header。
    例如添加:
    • Key:User-Agent
    • Value:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36

    Header定义

  2. 再次进行压测场景调试,观察请求是否正常。如修改 UA 后请求正常,则可以判定是 UA 校验引起的,您可以通过修改 UA 来继续压测。

    UA信息

可能原因

被 WAF 拦截(这种情况可能性会比较小)。

解决方案

如果需要有 WAF 白名单限制,请根据文档如何避免 PTS 的压测流量被 Web 应用防火墙拦截?设置允许 PTS 流量通过的规则。