问题描述
最近想用微信小程序订阅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换成你自己的域名。文章来源:https://www.toymoban.com/news/detail-770917.html
文章来源地址https://www.toymoban.com/news/detail-770917.html
到了这里,关于微信小程序+MQTT(emqx)+Ngnix解决真机调试持续重新连接问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!