收藏
回答

求助求助!mqtt,websocket问题

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug socket 客户端 7 2.5.1

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

RT,开发者工具可以成功链接 但真机无法链接。


服务器:

    nginx 1.14.2

    nginx配置:

        

server {

        listen       443 ssl;

        server_name  https.dnanren.cn;

ssl on;

ssl_certificate C:/nginx/nginx-1.14.2/conf/ssl/ssl.pem;

        ssl_certificate_key C:/nginx/nginx-1.14.2/conf/ssl/ssl.key;

ssl_session_timeout 5m;

  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

  ssl_prefer_server_ciphers on;

root /opt/nginx/wwwroot/laravel/public;

index index.php index.html index.htm;


        location /mqtt{

proxy_pass https://https.dnanren.cn:8084;

proxy_redirect off;

proxy_set_header Host https://https.dnanren.cn:8084;

proxy_set_header Sec-WebSocket-Protocol mqtt;

#more_clear_headers Sec-WebSocket-Protocol;


    proxy_http_version 1.1;

    proxy_set_header Upgrade $http_upgrade;

    proxy_set_header Connection "upgrade";

        }


location /ws{

proxy_pass http://https.dnanren.cn:8888;

#rewrite /mqtt;


    proxy_http_version 1.1;

    proxy_set_header Upgrade $http_upgrade;

    proxy_set_header Connection "upgrade";

        }


location / {

            root   html;

            index  index.html index.htm;

        }


    }


    ssl安全证书类型 DV

    MQTT服务器使用emq2.x

    小程序客户端mqtt库使用 paho-mqtt

    域名已备案

    服务器百度云的

    小程序后台服务器域名已配置。

    小程序访问时 使用wss://https.dnanren.cn/mqtt


    出现的问题就是真机无法链接成功。开发者工具中不管开不开启安全域名校验都能链接成功。


    2019年2月2日 21点43分 测试mqtt真机预览 体验版连接成功,相信是微信官方团队修复了这个问题了。我也安心过年了 虽然没有公告发出来。也特别感谢微信团队及时修复问题。祝新年快乐!

- 预期表现

成功链接

- 复现路径


- 提供一个最简复现 Demo


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

7 个回答

  • 勇杰
    勇杰
    2019-01-30

    可以尝试下面这个做法看能否解决:


    把服务器去掉这个:

    proxy_set_header Sec-WebSocket-Protocol mqtt;


    然后小程序代码加上黑体部分

    var ws = wx.connectSocket({

          url: 'wss://https.dnanren.cn/mqtt',

          protocols: ['mqtt']

        })


    2019-01-30
    有用
    回复 4
    • 大男人主义
      大男人主义
      2019-01-30

      好的。谢谢 我尝试一下

      2019-01-30
      回复
    • 大男人主义
      大男人主义
      2019-01-30

      你好,按照你的方法测试了 还是跟之前一样。开发者工具没问题。真机预览还是不行。ios上可以 安卓微信7.0依旧失败。

      2019-01-30
      回复
    • 勇杰
      勇杰
      2019-01-30回复大男人主义

      给个微信,我直接+你聊下

      2019-01-30
      回复
    • 大男人主义
      大男人主义
      2019-01-30回复勇杰

      WangXiaoBao0851  这是我的微信

      2019-01-30
      回复
  • 大男人主义
    大男人主义
    2019-01-29

    小弟我 已经困扰几天了。实在没招了

    2019-01-29
    有用 1
    回复 1
  • ☆大左
    ☆大左
    2019-07-09

    https://developers.weixin.qq.com/community/develop/doc/00082ca48ec8b00ecc3895ceb53c00?highLine=mqtt

    2019-07-09
    有用
    回复
  • 。
    2019-01-30

    实在是解决不了,同问,急的我都过不了年了

    2019-01-30
    有用
    回复 1
    • 大男人主义
      大男人主义
      2019-01-30

      都差不多啊。解决不了 老大要换公众号 我这年没法过了啊

      2019-01-30
      回复
  • 洒一地阳光
    洒一地阳光
    2019-01-30

    上周社区问题反馈以及功能优化更新(01.21-01.25)官

    修复日志,说已经修复了:部分 Android7.0 用户 websocket 线上版本无法连接问题

    不过还是有人测试发现7.0.3 websocket连不上。

    2019-01-30
    有用
    回复 4
    • 大男人主义
      大男人主义
      2019-01-30

      安卓貌似没有7.0.3啊 只有ios有 ios 确实没问题。安卓最新版本还是7.0

      2019-01-30
      回复
    • 洒一地阳光
      洒一地阳光
      2019-01-30

      1、体验内测7.0.3版本,微信-->关于微信-->检查新版本。

      2、应用宝里已经上架了7.0.3版本,没有提升更新,得卸载微信重新下。

      2019-01-30
      回复
    • 洒一地阳光
      洒一地阳光
      2019-01-30

      对了,刚接到的消息,已经大部分平台可以更新7.0.3了,微信的检查新版本也可以更新7.0.3了。

      2019-01-30
      回复
    • 赵岩山
      赵岩山
      2019-01-31

      在模拟器没问题,真机存在这个问题,怎么解决啊

      2019-01-31
      回复
  • Jared
    Jared
    2019-01-29

    怎么样啊?我也遇到这个问题,一起讨论下,据说是证书问题,部分手机不支持

    2019-01-29
    有用
    回复 2
    • 大男人主义
      大男人主义
      2019-01-29

      刚刚客服让我看了我的证书 我nginx配置得没问题的。支持 1,1.1,1.2的TLS 并且 安卓上微信6.7测试成功。唯独7.0不行。你可以找个ios或者微信版本是6.7的手机试试


      2019-01-29
      回复
    • Jared
      Jared
      2019-01-29

      我也试了,加微信聊吧。我也检测了,支持1.0 1.1 .2    我也发现了微信7.0以下的行


      加wx聊吧   397484350

      2019-01-29
      回复
  • 是小白啊
    是小白啊
    2019-01-29

    是安卓的无法连接还是ios的呢?

    2019-01-29
    有用
    回复 21
    查看更多(16)
登录 后发表内容