emqtt设置ssl证书
这两天使用emqtt搭建了一个mqtt服务器,顺手呢搞了一下ssl认证
一、证书申请
证书申请我是通过阿里云进行的,申请的免费一年版。
- 你得有个域名,我也是在阿里云买的
- 进入控制台
- 照给的流程申请就行了,这个简单
- 申请完毕后,将证书下载下来
二、配置emqtt
- 刚才下载的证书文件是压缩文件,解压上述下载的证书可以得到一个pem文件和一个key文件
- 上传第一步中得到的两个文件到emqtt服务器指定目录中,可以自定义,也可以放在emqtt配置文件所在文件夹
- 修改emqtt的配置文件,这里我们需要改两个地方,一个是mqtt ssl,另一个websocket ssl
cd /etc/emqx
sudo nano emqx.conf
# 更改完毕后,重启服务
sudo service emqx restart
三、测试更改结果
websocket测试
- 浏览器打开:host:18083进入dashboard
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ynGbTQmz-1609658778223)(https://cdn.nlark.com/yuque/0/2021/png/974106/1609658289849-bd77ecf4-6e32-4e51-b38e-1637459a44b1.png)]
Mqtt测试
mqtt测试我是使用了python来进行测试的,由于代码是生产环境一部分,所以只粘贴链接这部分代码,这里有一点需要注意:
# 在链接之前,先调用tls_set将上述得到的证书key文件加载到程序中
self.client.tls_set(keyfile="xxxxxxxxxx.key")
self.client.connect('www.xxxx.com', 8883, 60)
self.client.loop_forever()