开发者社区> 问答> 正文

PTS的压测流量因安全策略无法直接访问Web应用

已解决

PTS的压测流量因安全策略无法直接访问Web应用

展开
收起
提个问题 2024-05-29 18:05:09 50 0
1 条回答
写回答
取消 提交回答
  • 开发者社区问答官方账号
    官方回答
    采纳回答
    问题现象

    因被压测应用出于安全原因而不对公网暴露服务,或者使用了阿里云云产品Web应用防火墙(Web Application Firewall,简称WAF),因此可能会因为压测流量较大而触发一些拦截、阻断和清洗,导致PTS的压测流量被Web应用防火墙拦截。



    解决方案

    • 方案一:WAF设置Header白名单

      如果被压测的应用使用了WAF,您可以根据Header在WAF中配置网站白名单规则,放行所有PTS的压测请求,具体操作如下:

      1. 在顶部菜单栏,选择Web应用防火墙实例的资源组和地域(中国内地非中国内地)。
      2. 在左侧导航栏选择防护配置 > 网站防护
      3. 网站防护页面上方,切换到要设置的域名。切换域名
      4. Web安全页签,单击页面右上角的网站白名单,然后在弹出的对话框中新建网站白名单规则,并设置匹配条件为Header x-pts-test存在。
        说明 PTS发送的HTTP请求中,会带有x-pts-test的Header,因此您需要新建一个网站白名单规则并将其匹配条件设置为Header x-pts-test存在。有关网站白名单设置的更多信息,请参见设置网站白名单
        et
    • 方案二:获取施压机IP并设置IP白名单

      如果无法在WAF层面设置Header白名单或未使用WAF,您可以在安全策略中对施压机开放IP白名单,获取施压机IP的具体操作如下:

      直接开启压测,在压测启动后获取施压机IP。若您已有创建好的压测场景,您可以在控制台的左侧导航栏选择性能测试 > 场景列表,然后在场景列表页面,单击目标压测场景操作列的启动,启动压测。

      开始压测后,在压测中页面,单击查看,您可直接查看到施压机IP。wert

      您还可以在压测中页面,单击流量来源,然后在右侧弹出的流量来源面板中,您可以查看施压机的地域以及IP等的具体信息。

      使用共享资源池无法在启动压测之前获取施压机IP,如需在施压机施压之前能够完成设置白名单,您可以在压测场景中添加起始等待时间,等待时间根据设置白名单所需时间来指定,在延时释放期间仍会消耗VUM。PTS压测和JMeter压测中设置起始等待时间的具体操作如下:
      • PTS压测中设置起始等待时间

        在每一个串联链路中添加一个延时释放的指令,延时的时间根据设置白名单所需时间来指定。添加延时释放指令的具体操作,请参见延迟释放指令

      • JMeter压测中设置起始等待时间
        1. 在JMeter测试计划中,右键选择Test Plan > Add > Threads(Users) > setUp Thread Group,添加setUp线程组。rj
        2. setUp Thread Group页面勾选Specify Thread lifetime,设置setUp线程组的起始延时时间为预计等待时间即可,如下图所示。ro
    2024-05-29 18:05:10
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Web应用系统性能优化 立即下载
高性能Web架构之缓存体系 立即下载
PWA:移动Web的现在与未来 立即下载