收藏
回答

安卓手机连接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

最后一次编辑于  2019-02-20
回答关注问题邀请回答
收藏

1 个回答

  • 是小白啊
    是小白啊
    2019-02-20

    你的证书向下兼容吗?

    2019-02-20
    有用
    回复 4
    • 2019-02-20

      应该是兼容的

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


      2019-02-20
      回复
    • 是小白啊
      是小白啊
      2019-02-20回复

      仅该机型不行吗?

      2019-02-20
      回复
    • 2019-02-20

      问题解决了.谢谢你


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


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

      2019-02-20
      回复
    • 2019-02-20回复是小白啊

      问题已解决,谢谢

      2019-02-20
      回复
登录 后发表内容