当前位置:   article > 正文

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

微信小程序mqtt真机调试


问题描述

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


一、申请域名

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

二、域名解析

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  之后你就可以尝试在终端ping一下你的域名,此时应该是可以ping通了。同时,服务器运行的部分网站,也可以通过这个域名去访问了。

三、ICP域名备案

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

在这里插入图片描述

四、购买SSL证书

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  等待SSL证书签发,等了两天最后结果显示审核失败,问客户经理,说是免费签证的更改说明里说失败之后需要重新提交

在这里插入图片描述
在这里插入图片描述
  看到已签发的状态就是SSL证书申请成功啦!

五、EMQX配置ssl证书

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

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

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

4、重启emqx

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

在这里插入图片描述
  此时,websocket连接应该是可以正常连接的。。

六、微信小程序绑定域名

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

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

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/182828
推荐阅读
相关标签
  

闽ICP备14008679号