You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JMeter WebSocket插件测试获101响应码却返回Forbidden错误如何解决

WebSocket 101响应后返回Forbidden排查方案

101响应状态码说明WebSocket握手已经完成,协议切换成功,此处返回的{"message": "Forbidden", "connectionId":"xxxxxxxx=", "requestId":"xxxxxxxx="}属于服务端业务层返回的权限校验错误,可按以下步骤排查:

鉴权参数校验

  • 对比正常客户端(浏览器/APP)发起WebSocket连接时的所有请求头,检查JMeter的WebSocket采样器是否遗漏了服务端要求的鉴权字段,常见字段包括Authorization、自定义token头、Cookie、x-api-key、签名头等
  • 确认Origin头配置和正常请求完全一致,部分服务端会校验该头防止跨域非法连接
  • 校验Sec-WebSocket-Protocol头的值,确保和服务端支持的WebSocket子协议完全匹配,无拼写错误

参数有效性校验

  • 确认所有鉴权参数未过期:比如token是否在有效期内,Cookie是否为最新生成的会话值,动态签名的时间戳、随机值、加密算法是否和服务端要求完全一致
  • 若使用了前置HTTP请求获取会话信息,确认JMeter已正确通过正则提取/JSON提取器拿到对应的会话参数,并正确传入了WebSocket采样器的请求头中

账号与权限校验

  • 确认当前测试使用的账号具备该WebSocket接口的访问权限,部分接口会按角色分配访问权限,普通账号无法访问高权限专属通道
  • 确认测试账号未被服务端封禁,JMeter所在机器的IP不在服务端的IP黑名单内,且在要求白名单的场景下已加入白名单
  • 部分服务端限制同一账号同时最多建立1个WebSocket连接,确认该账号未在其他设备/环境上保持活跃的WebSocket连接

接口与配置校验

  • 确认WebSocket接口路径、域名、端口配置正确,避免出现测试环境地址填为生产环境、路径拼写错误的问题
  • 若使用wss协议,确认JMeter已正确配置SSL证书,或开启了SSL忽略校验的配置,避免SSL层校验异常被服务端拦截
  • 检查采样器的消息帧类型配置是否和服务端要求一致,比如文本帧、二进制帧是否匹配,错误的帧类型会导致服务端无法解析请求,返回权限错误
  • 确认接口请求频次未超过服务端的限流阈值,触发限流规则也可能返回Forbidden响应

内容的提问来源于stack exchange,提问作者Fin-eeth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 18:09:02