收藏
回答

局域网 WSS握手失败?

问题模块框架类型问题类型API/组件名称终端类型微信版本基础库版本
API和组件小程序Bugwx.websocket客户端7.0.62.9.3


手机和设备连接再同一个热点上(IP地址处于同一网段,应该就是一个局域网内)。

微信小程序使用wss访问ip:port时,握手失败:

exception onOpen fail code:8, msg:TLS handshake failed。

按照开发说明,这种局域网内通信时,应该不需要验证SSL的呀。

备注:

1.设备内证书为自签名证书。


最后一次编辑于  11-28
回答关注问题邀请回答
收藏

1 个回答

  • 社区技术运营专员-娇华
    社区技术运营专员-娇华
    11-28

    你好,排查一下websocket链接是否有问题

    11-28
    赞同
    回复 7
    • 木子
      木子
      11-29
      应该不是websocket的链接问题。原因分析如下:
      1.使用电脑调试时,可以正常通信的(也同样检查ssl签名)。
      2.使用抓包工具,发现TSL认证过程失败。
      第一步:微信小程序发出client hello
      第二步:设备回复了server hello 、ServerKeyExchange和ServerHelloDone消息。
      第三步:微信小程序验证签名失败了。
      这个失败还是因为微信小程序验证签名了。
      可是按照开发说明,局域网内应该不验证签名(或者说是信任任何签名)。这与实际的测试不一致了。
      11-29
      回复
    • 社区技术运营专员-娇华
      社区技术运营专员-娇华
      11-29回复木子
      提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)和帮忙上传下日志:手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,麻烦提供一下微信号,时间点
      11-29
      回复
    • 木子
      木子
      11-29
      代码片段:https://developers.weixin.qq.com/s/4wPmjemm7SdK
      日志就是那个
      wss的connectSocket成功。
      exception onOpen fail code:8, msg:TLS handshake failed。
      11-29
      回复
    • 木子
      木子
      11-29
      微信号:lcyzw05
      11-29
      回复
    • 社区技术运营专员-娇华
      社区技术运营专员-娇华
      11-29回复木子
      复现的时间点呢,具体到分
      11-29
      回复
    查看更多(2)
问题标签