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

使用同一套基于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

查原理

搜索资料

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

检测域名

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

初步排查结果

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

可能的解决办法

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

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

相关资料

相关推荐
mCell3 小时前
使用 useSearchParams 同步 URL 和查询参数
前端·javascript·react.js
mCell4 小时前
前端路由详解:Hash vs History
前端·javascript·vue-router
海上彼尚5 小时前
无需绑卡的海外地图
前端·javascript·vue.js·node.js
1024肥宅5 小时前
手写 call、apply、bind 的实现
前端·javascript·ecmascript 6
科杰智能制造6 小时前
纯前端html、js实现人脸检测和表情检测,可直接在浏览器使用
前端·javascript·html
每天吃饭的羊6 小时前
组件库的有些点击事件是name-click这是如何分装de
前端·javascript·vue.js
x***01066 小时前
SpringSecurity+jwt实现权限认证功能
android·前端·后端
1024肥宅6 小时前
防抖(Debounce)
前端·javascript·ecmascript 6
1024肥宅6 小时前
节流(Throttle)
前端·javascript·ecmascript 6
by__csdn6 小时前
Vue2纯前端图形验证码实现详解+源码
前端·javascript·typescript·vue·状态模式·css3·canva可画