likes
comments
collection
share

记一次微信小程序IOS手机端MQTT无法连接的排查过程

作者站长头像
站长
· 阅读数 11

使用同一套基于uniapp构建的微信小程序代码,在发布后, 发现Android手机 微信小程序功能使用均正常, IOS手机 微信小程序 功能无法使用,100%异常, 很抓狂

问题概述

使用同一套基于uniapp构建的代码, 在测试环境一切正常, 但发布至正式环境后:

  • Android手机 微信小程序 功能均可以正常使用
  • IOS手机 微信小程序 部分功能不能使用,通过真机调试工具发现:MQTT连接失败

详细描述

两个环境所使用的MQTT url分别是:

  • 测试: wss://dev.iot.com:8084
  • 正式: wss://prod.iot.com:443

排查

  • 代码自查 => 无异常
    • 动作: 将MQTT连接部分, 强制修改为 正式环境地址(wss://prod.iot.com:443)
  • 交叉验证 => 无异常
    • 动作:
      • 搜寻不同的IOS手机验证, 均无法使用MQTT
      • 使用不同的Android手机验证, 均能正常使用MQTT

查原理

记一次微信小程序IOS手机端MQTT无法连接的排查过程

搜索资料

因为微信小程序是不支持MQTT协议的, 最终是通过websocket服务器来实现mqtt协议, 因此, 我们在检索问题时, 可以考虑搜索 微信小程序 IOS 无法连接 ws

记一次微信小程序IOS手机端MQTT无法连接的排查过程

检测域名

第三方工具检测地址: cloud.tencent.com/product/too…

记一次微信小程序IOS手机端MQTT无法连接的排查过程

记一次微信小程序IOS手机端MQTT无法连接的排查过程

初步排查结果

  • 经排查确认: 正式服务器证书配置存在问题, 需要修复处理!

可能的解决办法

升级服务器的配置: cloud.tencent.com/document/pr… 根据里面的指南修改配置

记一次微信小程序IOS手机端MQTT无法连接的排查过程

配置完了,再次检测,支持TLS1.2。问题解决

记一次微信小程序IOS手机端MQTT无法连接的排查过程

相关资料