全部产品
云市场

为何调试或压测的时候出现403,浏览器访问是正常的?

更新时间:2019-03-08 14:48:28

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

:如果您在调试或者压测时,发现请求在 PTS 上配置运行后出现 403,但是使用浏览器直接访问是正常的。一般 GET 方法更易看出此问题。通常有两个原因:

  • 被 WAF 拦截:这种情况可能性会比较小,请排查是否有白名单的限制。

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

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

解决办法

以下为您介绍如何验证是否有 UA 限制并解决,因为如果您不设置 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

    UA配置

  2. 再次进行压测场景调试,观察请求是否正常。

    如修改 UA 后请求正常,则可以判定是 UA 校验引起的,您可以通过修改 UA 来继续压测。

    修改UA的调试结果