失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 微信小程序mqtt真机调试connect失败

微信小程序mqtt真机调试connect失败

时间:2018-10-09 19:42:32

相关推荐

微信小程序mqtt真机调试connect失败

问题

最近学习使用微信小程序实现mqtt通信,在真机调试时遇到一个bug卡住很久:在小程序开发工具中能正常连接服务器、订阅、收发消息,但真机调试和预览不能连接到mqtt服务器。

解决问题前的环境

1. 腾讯云服务器 ubuntu18.04

2. 在服务器上配置好了emqx

3. 部署了ssl证书(免费版)

4. 微信公众平台【开发管理】配置了服务器域名。

如何解决

使用nginx代理。

注意:我是用wget命令下载nginx,安装配置很麻烦。建议大家参考b站up主半颗心脏i的视频:【全网首发】从搭建私有服务器到esp8266代码,教你如何利用微信小程序控制esp8266。(半颗心脏出品)_哔哩哔哩_bilibili

用宝塔配置,讲的很详细。不会配置nginx建议点上面。

1.安装nginx

参考这篇文章:linux系统ubuntu安装nginx详解 - 走看看

2.打开nginx/conf/nginx.conf

http{

.....;

下面代码修改后加入此处;

}

server{listen 80;listen 443 ssl;server_name (此处填域名);ssl_certificate /etc/emqx/certs/mqtt.pem(ssl证书里的.pem文件路径,我修改了文件名);ssl_certificate_key /etc/emqx/certs/mqtt.key;(ssl证书里的.key路径);ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;ssl_prefer_server_ciphers on;location /mqtt{proxy_pass :8083;(填自己云服务器的域名)proxy_redirect off;proxy_set_header Host :8083;(填自己云服务器的域名)proxy_set_header Sec-WebSocket-Protocol mqtt;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";}}

3. 重启nginx

进入nginx可执行目录sbin下,输入命令./nginx -s reload

参考Nginx的启动、停止与重启 - codingcloud - 博客园

4. 注释微信小程序里的port:8084

文章用于记录学习过程,如你遇到相同问题,希望有帮助!

如果觉得《微信小程序mqtt真机调试connect失败》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。