一、背景
按照官方文档,使用第三方工具mqtt.js连接emqx服务器,使用加密链接方式,但一直连接失败,而非加密链接是可以连接成功的。
二、解决方法
经过各种检查发现是服务器证书过期了,需要更换证书,我使用的是阿里云服务器,可以申请免费证书,申请免费证书后,要把新证书部署到服务器上,替换掉原来的过期证书,替换证书后,证书名称会跟原来的不一样,因为我服务器使用了nginx配置反向代理,因此还要修改nginx配置文件中证书的路径,找到nginx.conf文件中监听443端口的server,里面有配置证书路径,把路径替换成新的就可以了,修改完成后,重启一下nginx。
ref:
使用微信小程序连接到 MQTT 云服务 - 知乎 (zhihu.com)
EMQX MQTT 微信小程序接入 | EMQX 4.4 文档