收藏
回答

安卓手机连接websocket证书校验失败已解决

问题模块 框架类型 问题类型 终端类型 微信版本 基础库版本
框架 小程序 Bug 客户端 7.0.3 2.6.0

问题已解决


- 当前 Bug 的表现(可附上截图)

旧安卓机发起websocket连接出错


- 预期表现

正常连上websocket


- 复现路径

猜歌王小程序首页进入排位赛,点击任意一场排位赛即可复现


- 提供一个 Demo

    let header = {

      'content-type': 'application/json',

      'cgw-sessionId': '8408C3D73C744887BFCB65121744B787'

    }

    wx.connectSocket({

      url: 'wss://cgw.wxapp.qubaotech.com/room/1.9.9',

      header: header,

      success: () => {

      },

      fail: (res) => {

        console.log('socket connnet error:', res)

      }

    });

    wx.onSocketError((res) => {

      console.log('socket error:', res)

    })

    wx.onSocketClose((res) => {

      console.log('socket close:', res)

    })

    wx.onSocketOpen((res) => {

      console.log('socket open:', res)

    })

    wx.onSocketMessage((res) => {

      console.log('socket revieve:', res)

    });


-手机型号

Lenovo K50-t5


-安卓版本

5.1

最后一次编辑于  02-20  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

1 个回答

  • 是柿子啊
    是柿子啊
    02-20

    你的证书向下兼容吗?

    02-20
    赞同
    回复 4
    • Leon
      Leon
      02-20

      应该是兼容的

      TLS 1.3不支持
      TLS 1.2支持
      TLS 1.1支持
      TLS 1.0支持
      SSL 3支持
      SSL 2不支持


      02-20
      回复
    • 是柿子啊
      是柿子啊
      02-20回复Leon

      仅该机型不行吗?

      02-20
      回复
    • Leon
      Leon
      02-20

      问题解决了.谢谢你


      原因是老版本安卓的微信websocket客户端去找服务器拿证书时,不是按域名,而是用ip拿,拿到了其他域名的过期的证书.


      解决方式是修改nginx配置,移除已过期的证书.

      02-20
      回复
    • Leon
      Leon
      02-20回复是柿子啊

      问题已解决,谢谢

      02-20
      回复