微信小程序+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日
    浏览(29)
  • 微信小程序真机调试

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

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

    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日
    浏览(33)
  • 微信小程序安卓真机调试报错

    ⬇️ ⬇️ ⬇️ ⬇️ ⬇️ ⬇️ ⬇️ ⬇️ ⬇️ ⬇️ ⬇️ ⬇️           报错基于黑马程序员苍穹外卖项目     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日
    浏览(26)
  • 微信小程序手机预览(真机调试)请求不到数据

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

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

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

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

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

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

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

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

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

    2024年02月13日
    浏览(39)
  • 微信小程序开发者工具真机调试和预览连接本地服务器

    网上参考了很多方法只有这个方法能解决本地服务器在微信开发者工具预览或者真机调试的连接,话不多说看图。 win+R,CMD输入ipconfig查看本地电脑服务器地址 微信开发者工具里设置代理 js代码的地址对应IPv4 地址 最后你的wifi网络要和手机上的网络一致,不然真机调试或者预

    2024年02月11日
    浏览(42)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包