问题现象

浏览器访问正常,在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
    FAQ14
  2. 再次进行压测场景调试,观察请求是否正常。如修改UA后请求正常,则可以判定是UA校验引起的,您可以通过修改UA来继续压测。
    修改UA

可能原因

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

解决方案

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

可能原因

压测域名未备案,或域名解析到了未备案的其他域名。

您可以根据返回结果判断域名是否备案。若出现403,且返回如下HTML信息,则是因为域名未备案导致的报错。

<html>
<head>
<meta http-equiv="Content-Type" content="textml;charset=UTF-8" />
   <style>body{background-color:#FFFFFF}</style>
<title>TestPage184</title>
  <script language="javascript" type="text/javascript">
         window.onload = function () {
           document.getElementById("mainFrame").src= "http://batit.aliyun.com/alww.html";
            }
</script>
</head>
  <body>
    <iframe style="width:860px; height:500px;position:absolute;margin-left:-430px;margin-top:-250px;top:50%;left:50%;" id="mainFrame" src="" frameborder="0" scrolling="no"></iframe>
    </body>
</html>

解决方案

对域名进行备案,具体操作,请参见ICP备案流程概述
备案成功后,再次压测此域名即可。