微信小程序+MQTT(emqx)+Ngnix解决真机调试持续重新连接问题

这篇具有很好参考价值的文章主要介绍了微信小程序+MQTT(emqx)+Ngnix解决真机调试持续重新连接问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


问题描述

  最近想用微信小程序订阅MQTT的消息,但是想要用MQTT,微信小程序不允许用ip去连接,必须用经过备案的域名,然后就开始了艰辛的合法域名探索之路。


一、申请域名

  我现在申请的是阿里云的免费域名,1年。实际上付费的也不贵,每年几十块的也有。详细教程参考阿里云的官方教程。

二、域名解析

  就是将你的域名和你的云服务器公网ip对应上。

小程序 真机 mqtt 连接失败,MQTT,微信小程序,微信小程序,小程序,nginx,activemq,mqtt,emqx
小程序 真机 mqtt 连接失败,MQTT,微信小程序,微信小程序,小程序,nginx,activemq,mqtt,emqx
小程序 真机 mqtt 连接失败,MQTT,微信小程序,微信小程序,小程序,nginx,activemq,mqtt,emqx
  之后你就可以尝试在终端ping一下你的域名,此时应该是可以ping通了。同时,服务器运行的部分网站,也可以通过这个域名去访问了。

三、ICP域名备案

  这个可以参考一篇整理的内容比较好的文章。

小程序 真机 mqtt 连接失败,MQTT,微信小程序,微信小程序,小程序,nginx,activemq,mqtt,emqx

四、购买SSL证书

  阿里云也有免费的DV SSL证书,但是每年只可以申请20个,而且每年清空,我是用的免费的DV SSL证书练手。

小程序 真机 mqtt 连接失败,MQTT,微信小程序,微信小程序,小程序,nginx,activemq,mqtt,emqx
小程序 真机 mqtt 连接失败,MQTT,微信小程序,微信小程序,小程序,nginx,activemq,mqtt,emqx
小程序 真机 mqtt 连接失败,MQTT,微信小程序,微信小程序,小程序,nginx,activemq,mqtt,emqx
小程序 真机 mqtt 连接失败,MQTT,微信小程序,微信小程序,小程序,nginx,activemq,mqtt,emqx
  等待SSL证书签发,等了两天最后结果显示审核失败,问客户经理,说是免费签证的更改说明里说失败之后需要重新提交

小程序 真机 mqtt 连接失败,MQTT,微信小程序,微信小程序,小程序,nginx,activemq,mqtt,emqx
小程序 真机 mqtt 连接失败,MQTT,微信小程序,微信小程序,小程序,nginx,activemq,mqtt,emqx
  看到已签发的状态就是SSL证书申请成功啦!

五、EMQX配置ssl证书

1、从阿里云申请ssl证书的地方下载证书

  因为后面要用Ngnix做代理,所以下载Ngnix版本的证书文件。

小程序 真机 mqtt 连接失败,MQTT,微信小程序,微信小程序,小程序,nginx,activemq,mqtt,emqx
小程序 真机 mqtt 连接失败,MQTT,微信小程序,微信小程序,小程序,nginx,activemq,mqtt,emqx

2、将下载的SSL证书放到emqx的etc/certs文件夹下

小程序 真机 mqtt 连接失败,MQTT,微信小程序,微信小程序,小程序,nginx,activemq,mqtt,emqx

3、配置emqx.conf中的ssl证书路径为上述路径

小程序 真机 mqtt 连接失败,MQTT,微信小程序,微信小程序,小程序,nginx,activemq,mqtt,emqx

4、重启emqx

5、在emqx界面的websocket工具中测试ssl连接

小程序 真机 mqtt 连接失败,MQTT,微信小程序,微信小程序,小程序,nginx,activemq,mqtt,emqx
  此时,websocket连接应该是可以正常连接的。。

六、微信小程序绑定域名

  到微信小程序管理平台,配置socket合法域名为你的域名地址。
小程序 真机 mqtt 连接失败,MQTT,微信小程序,微信小程序,小程序,nginx,activemq,mqtt,emqx
  至此,微信小程序的开发者工具可以通过域名连接到emqx,但是真机调试不行。因为微信小程序的bug,只能连接443端口,所以需要nginx做一个代理,将443端口代理到8084端口。
小程序 真机 mqtt 连接失败,MQTT,微信小程序,微信小程序,小程序,nginx,activemq,mqtt,emqx

七、服务器部署代理Ngnix——解决真机调试连接域名失败的问题

  参考微信小程序社区给出的一个教程,如果只是做微信小程序的部分,参考我下面的图去改他的代码就行,把下面的abc.com换成你自己的域名。

小程序 真机 mqtt 连接失败,MQTT,微信小程序,微信小程序,小程序,nginx,activemq,mqtt,emqx
小程序 真机 mqtt 连接失败,MQTT,微信小程序,微信小程序,小程序,nginx,activemq,mqtt,emqx
小程序 真机 mqtt 连接失败,MQTT,微信小程序,微信小程序,小程序,nginx,activemq,mqtt,emqx文章来源地址https://www.toymoban.com/news/detail-770917.html

到了这里,关于微信小程序+MQTT(emqx)+Ngnix解决真机调试持续重新连接问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序使用mqtt开发可以,真机不行

    以下可以解决我的问题,请一步一步跟着做,有可能版本不一样就失败了 前往蓝奏云 https://wwue.lanzouo.com/iQPdc1k50hpe 下载好后将.txt改为.js 然后放入项目里 emqx官网 需要有ssl证书 注意,每一步都是有用的哦,如果你的不行,那么就原样复制一下

    2024年02月02日
    浏览(45)
  • 微信小程序真机调试

    以下方法基于:windows系统 开启开发者模式 设置——系统——关于手机——点击版本号 开启开发者模式 小米点击7次 USB调试开启 设置——系统——开发人员选项——USB调试开启 注意如果有允许usb 安装应用,需要开启 用数据线把手机和电脑连起来 Hbuilder下载真机调试插件 工

    2024年02月12日
    浏览(55)
  • 微信小程序真机调试问题

    error occurs:ENOENT: no such file or directory, access ‘/storage/emulated/0/Android/data/com.tencent.mm/MicroMsg/wxanewfiles/7aa4b87a5745cb4ba620783bdc762db2/miniprogramLog/log2’ 解决: 换为真机1.0 版。 解决 : 1,勾选不校验合法域名。 2,开启手机自身的开发者模式。 每种手机如何开启,具体百度。 3,将小程

    2024年02月13日
    浏览(46)
  • 微信小程序安卓真机调试报错

    ⬇️ ⬇️ ⬇️ ⬇️ ⬇️ ⬇️ ⬇️ ⬇️ ⬇️ ⬇️ ⬇️ ⬇️           报错基于黑马程序员苍穹外卖项目     1 .VM75:398 error occurs:no such file or directory, open \\\'wxfile://usr....   2.VM75:398 error occurs:no such file or directory, open \\\'wxfile://ad....(博主暂未解决,不过经过猜测,这是一个关于广告

    2024年04月28日
    浏览(60)
  • 微信小程序手机预览(真机调试)请求不到数据

    这里分两个方面: (1)对微信api获取不到数据的解决方法:例如对授权 | 微信开放文档 中的getlocation(获取定位)来说, 我们需要在app.json加上这以下代码即可 (2) 对非微信api获取不到数据的解决方法: 例如墨迹天气api:https://autodev.openspeech.cn/csp/api/v2.1/weather 那么我们需要前往微信公众

    2024年02月16日
    浏览(48)
  • 微信小程序真机调试网络请求失败或超时的问题

      在使用uniapp开发微信小程序时,开发者工具的模拟器可以正常请求。但是当使用真机调试时会发现,请求已发起,但是控制台一片空白。 过了一会儿就会报错,请求超时。 检查代码和网络连接都正常,当然也勾选了不校验合法域名。 网上搜了半天,没发现相同的问题。

    2024年02月03日
    浏览(114)
  • 微信小程序wx.getLocation 真机调试不出现隐私弹窗

            在小程序的开发过程中,首页中包含要获取用户地理位置的功能,所以在这里的onLoad()中调用了wx.getLocation(),模拟调试时一切正常,但到了真机环境中就隐私框就不再弹出,并且出现了报错,在打印之后发现getLocation的成功和失败均没有进行          (设置

    2024年04月16日
    浏览(41)
  • iphone/苹果手机 微信小程序 真机调试 网络不通 网络请求失败

    问题:iphone/苹果手机 微信小程序 真机调试 网络请求失败,可以确定的是,真机和开发工具所在电脑肯定是在一个网段的,把蜂窝数据都关了,只保留了WIFI,还是请求不通, 最终参考 微信小程序真机调试报错fail-109:net::ERR_ADDRESS_UNREACHABLE ? 解决,原来是 IOS升级了本地网络权

    2024年02月11日
    浏览(115)
  • 微信小程序 开发开发工具接口调用成功,真机调试接口调用失败

    问题:微信小程序中 开发开发工具接口调用成功,真机调试接口调用失败 个人遇到的问题原因:证书有问题 找到的证书测试 1、 由于系统限制,不同平台对证书要求的严格程度不同。为了保证小程序的兼容性,建议开发者按照最高标准配置证书,并使用相关工具检查现有证书

    2024年02月13日
    浏览(56)
  • 微信小程序真机调试报ERR_CERT_AUTHORITY_INVALID

    微信开发者工具中调试微信小程序,在开发工具里面调试没问题,但是真机调试的时候报ERR_CERT_AUTHORITY_INVALID错误 到这个站点 检查域名的Https证书的安全性 : 传送门(注:大部分都是证书链不完整.) 证书链补全工具传送门 使用新的证书替换原来使用的Https证书 至此应该就可以愉

    2024年02月14日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包