原文链接:Emqtt – 03 – 用户密码认证
相关文章:
默认情况下,emqtt 服务会启用匿名认证,也就是说连接 emqtt 的服务时,不需要任何的账号密码,就可以连接,但通常情况下,我们会对连接 emqtt 服务的账号和密码加以控制,这时我们就需要来修改 emqtt 的配置文件
一、修改配置文件
-
通过先前的服务搭建,在 etc 目录下修改 emq.conf 配置文件
-
cd /usr/local/emqtt/emqttd/etc
-
vim emq.conf
mqtt.allow_anonymous=false
-
:wq
-
-
修改完配置文件后,我们需要重新启动 emqtt 服务才能生效,这里有个比较坑的地方在于:如果直接用重启命令时会不起作用!!!
所以我们要先关闭再启动,不知道这是不是 个Bug,此时我们再启动项目的时候,会发现连接失败,因为我们关闭了匿名认证,而没有指定其他的认证规则
二、配置用户密码认证
-
在 etc/plugins 目录下修改 emq_auth_username.conf 配置文件
-
cd /usr/local/emqtt/emqttd/etc/plugins
-
vim emq_auth_username.conf
auth.user.1.username = root auth.user.1.password = root
-
:wq
-
-
开启用户密码认证插件
-
第一种方式:emqttd_ctl plugins load emq_auth_username
-
第二种方式:在 web 管理控制台中开启该插件
-
-
重启服务,使插件生效
三、测试
- 此时我们再启动项目时,只有正确地配置了用户名和密码之后,才可以连接成功,否则会报异常