配置文件说明
etc/emqx.conf
EMQ X 配置文件
etc/acl.conf
EMQ X 默认 ACL 规则配置文件
etc/plugins/*.conf
EMQ X 扩展插件配置文件
1、mqtt认证设置
etc/emqx.conf
allow_anonymous = true #默认开启匿名认证,任何客户端都可以连接mqtt服务器
allow_anonymous = false #关闭匿名认证
(注意:连接认证和权限是两回事)
想要客户端client连接mqtt,需要开启emqx_auth_username的插件或者mysql插件认证emqx_auth_mysql
例如在emqx_auth_username插件中配置用户名和密码
auth.user.1.username = admin
auth.user.1.password = public
这样就可以用上面的用户名和密码连接mqtt服务
2、mqtt ACL访问控制
ACL 访问控制规则:
"允许(Allow) / 拒绝(Deny)" "谁(Who)" "订阅(Subscribe) / 发布(Publish)" "主题列表(Topics)"
etc/emqx.conf
## Allow or deny if no ACL rules matched
mqtt.acl_nomatch = allow #ACL未匹配时默认授权,如果匹配不到的权限也都有
mqtt.acl_nomatch = deny #ACL未匹配时默认授权,配置什么权限,客户端就有什么权限
mqtt.acl_file = etc/acl.conf #使用文件定义默认ACL规则(内置ACL)
acl.conf 中应只包含一些简单而通用的规则,使其成为系统基础的 ACL 原则。如果需要支持复杂、大量的 ACL 内容,你应该在认证插件中去实现它。
mysql插件的访问控制emqx_auth_mysql #使用mysql插件定义ACL规则