PTS压测全部报这个错怎么办啊?

IllegalArgumentException:forbidden domain PTS压测全部报这个错怎么办啊?

展开
收起
冰激凌甜筒 2023-05-22 19:18:19 172 分享 版权
阿里云 AI 助理回答

在使用阿里云性能测试服务(PTS)进行压测时,如果遇到IllegalArgumentException: forbidden domain错误,通常是因为您尝试对某些受限制的域名(如政府类网站或未备案域名)进行压测。以下是详细的解决方法和操作步骤:


1. 确认是否为政府类网站

根据安全策略要求,PTS默认禁止对政府类网站(例如以.gov.cn结尾的域名)进行压测。如果您正在对这类网站进行压测,请按照以下步骤申请权限:

操作步骤:

  1. 准备备案材料
    准备目标网站的备案截图,确保截图清晰显示备案信息。

  2. 提交工单申请
    访问阿里云智能客服平台,通过提交工单的方式上传备案截图,申请对特定.gov.cn域名进行压测的权限。

  3. 等待审核
    提交申请后,阿里云团队将对您的请求进行审核。审核通过后,您将获得对该政府类网站进行压测的权限。

重要提醒:请确保提供的备案信息真实有效,以便加快审核流程。


2. 检查域名是否已备案

如果报错涉及非政府类网站,可能是由于压测域名未备案或解析到了未备案的其他域名。此时需要确认域名是否已完成备案。

解决方案:

  • 如果返回的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://****.aliyun.com/alww.html"; }
    </script>
    </head>
    <body>
    <iframe style="width:860px;"></iframe>
    </body>
    </html>
    
    • 解决方法:对域名进行备案后再重新发起压测。

3. 检查是否触发了WAF防护规则

如果域名已备案但仍报forbidden domain错误,可能是由于Web应用防火墙(WAF)拦截了PTS的压测流量。

解决方案:

方案一:WAF设置Header白名单
  1. 登录Web应用防火墙控制台。
  2. 在顶部菜单栏选择相应的资源组和地域。
  3. 进入“防护配置” > “防护规则”页面。
  4. 单击白名单左侧的图标,然后单击“操作”列的“新建规则”。
  5. 设置匹配条件为Header x-pts-test存在。

说明:PTS发送的HTTP请求中会带有x-pts-test的Header,因此需要设置匹配条件为Header x-pts-test存在。

方案二:获取施压机IP并设置IP白名单
  1. 启动压测后,在“压测中”页面查看施压机IP。
  2. 将施压机IP添加到WAF或其他安全产品的IP白名单中。
  3. 注意事项:施压机IP不固定,每次压测时都需要重新配置IP白名单。建议优先使用方案一。

4. 检查是否使用了VPC内网压测

如果压测URL中的域名解析结果为非内网网段IP(如不符合10.0.0.0/8172.16.0.0/12192.168.0.0/16的IP范围),也会导致forbidden domain错误。

解决方案:

  • 使用内网IP进行压测。
  • 或者登录PTS控制台,配置DNS解析将域名映射至内网IP。

5. 其他可能原因及排查建议

  • 检查UA Header:部分服务端会对User-Agent进行强校验。如果未设置通用的UA Header,可能会导致403错误。
    解决方法:在PTS控制台的场景配置中添加一个通用的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
    
  • 检查SLB或高防IP限制:如果使用了负载均衡(SLB)或高防IP,可能会因限流或防护策略导致压测失败。
    解决方法:调整相关产品的配置,或临时关闭防护策略。


总结

针对IllegalArgumentException: forbidden domain错误,您可以按照以下顺序排查问题: 1. 确认是否为政府类网站,并按需提交工单申请权限。 2. 检查域名是否已备案,必要时完成备案。 3. 检查是否触发了WAF防护规则,并设置Header白名单或IP白名单。 4. 确保VPC内网压测的域名解析结果符合内网网段要求。 5. 排查其他可能的原因,如UA Header设置或SLB/高防IP限制。

通过以上步骤,您应该能够有效解决该问题并顺利完成压测任务。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

云原生可观测基于Prometheus、Grafana 、OpenTelemetry 等核心产品, 形成指标、链路存储分析、异构数据源集成的数据层, 通过标准PromQL和SQL提供大盘展示、告警与探索能力。

还有其他疑问?
咨询AI助理