物联网协议MQTT消息服务器Emqx4.3版本emqx_auth_username验证被废弃的替代 及 EMQX 的可视化连接工具 mqttfx 的下载应用

本文介绍了Emqx4.3版本中emqx_auth_username验证功能被弃用,转向emqx_auth_mnesia处理,以及如何配置和使用mqttfx可视化连接工具。同时提及了EMQX的端口管理需求。
摘要由CSDN通过智能技术生成

一、Emqx4.3版本emqx_auth_username验证被废弃的替代处理

    物联网协议MQTT消息服务器Emqx4.3版本emqx_auth_username验证被废弃的替代处理。

    Emqx安装成功后的,后台地址为http://127.0.0.1:18083,默认登录账号为admin,密码为public。emqx的配置目录路径存在/etc/emqx/中。使用service emqx start/stop/restart进行服务操作。线上使用emqx时需要进行一下处理,首先就是防匿名用户登录操作。关于这项是否成功可以在管理后台的websocket中直接点击connet判断是否禁止匿名用户登录,如果正常开启则必须输入username和password才能连接。

    首先是要修改配置文件/etc/emqx/emqx.conf调整allow_anonymous为false,即开启防匿名用户登录。

#禁止匿名登录,allow_anonymous默认是true
vim /etc/emqx/emqx.conf
## Value: true | false
allow_anonymous = false

    之后就有些不一样了,在Emqx4.3版本之前存在一个emqx_auth_username扩展,可以通过启动emqx_auth_username插件模块修改其配置实现账号密码验证。进行如下操作即可使用。

#导入插件模块
cd /usr/lib/emqx/bin
sh emqx_ctl plugins load emqx_auth_username

#命令添加账号密码或者编辑配置文件
emqx_ctl users add admin public
#编辑用户名密码配置文件
vim /etc/emqx/plugins/emqx_auth_username.conf
## username 认证数据
auth.user.2.username = admin
auth.user.2.password = public
## Password hash
auth.user.password_hash = sha256

    但在Emqx4.3版本之后不一样了,官方文档:版本发布 | EMQX 4.3 文档 里有注明4.3版本中emqx_auth_clientid 与 emqx_auth_usernmae 合并为 emqx_auth_mnesia。emqx_auth_username模块从此废弃。在Emqx4.3版中加载emq_auth_username插件会报不存在的错误,所以不要再去寻找安装emqx_auth_username模块了。直接修改emqx_auth_mnesia.conf模块配置文件,添加账号密码。

#在Emqx4.3版中加载插件会报不存在 
# ./emqx_ctl plugins load emq_auth_username   
Load plugin emq_auth_username error: not_found.

# etc/plugins/emqx_auth_mnesia.conf

## clientid 认证数据
auth.client.1.clientid = admin
auth.client.1.password = public

## username 认证数据
auth.user.2.username = admin
auth.user.2.password = public
## Value: plain | md5 | sha | sha256 
auth.mnesia.password_hash = sha256

    另外Mnesia认证默认即是使用 sha256 进行密码哈希加密,可在 etc/plugins/emqx_auth_mnesia.conf 中更改,其方式也和原来的emqx_auth_username模块不一样。而是使用auth.mnesia.password_hash配置项来设置。最后重启emqx restart并在管理后台启动emqx_auth_mnesia插件即可。

二、物联网协议MQTT消息服务器 EMQX 的可视化连接工具 mqttfx 下载

     EMQX是一款大规模分布式物联网 MQTT 消息服务器,使用非常广泛,在开发中如果仅依靠程序调试来显示消息内容非常麻烦,这时一个方便的可视化工具能给开发带来很大的便利。mqttfx 就是这么一个工具。它是物联网协议 MQTT 的应用 EMQX 的连接工具。 mqttfx 下载地址:
http://www.jensd.de/apps/mqttfx/1.7.1/

    EMQX默认是允许匿名访问,打开MQTT.fx 可以直接连接 EMQX,输入连接Broker Address和Broker Port等信息即可连接上。当然,实际业务中最好把这个匿名访问关闭,在我的博客中有相关的文章记录。

    最后关于 EMQX 的端口,EMQX 涉及的端口有多个,但实际运行中并不需要把所有的端口都开放,视你的服务部署情况决定,各个服务端口说明如下:

1883:MQTT 协议端口
8883:MQTT/SSL 端口
8083:MQTT/WebSocket 端口
8080:HTTP API 端口
8084 WSS端口
18083:Dashboard 管理控制台端口

    如果业务不使用 https的话,只需要开 8083、18083、1883三个端口即可。

    如果要使用 https 那就打开 8883、8084、18083端口。

    如果需要使用 http 接口调用 EMQX,需要开放 8080 端口。

最后 EMQX 的可视化连接工具 mqttfx 下载地址见本文章的绑定资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林戈的IT生涯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值