文章目录一、前言二、知识储备三、认证设置打开ClientId认证2 .关闭匿名认证3 .其他认证方式闲谈
一.前言
默认情况下,允许任何客户端访问EMQX服务器,只需获取服务器的IP地址和端口,对于开发人员测试也很方便。 但是,在实际需求和生产环境中,只允许访问经过认证的终端,防止其他终端恶意访问和破坏系统。
二、知识储备认证是大多数APP应用的重要组成部分,MQTT协议支持用户名和密码认证,启用认证可以有效阻止非法客户端连接。
EMQ X验证是指当客户端连接到EMQ X时,服务器端配置控制客户端连接到服务器的权限。
EMQ X的认证支持有以下两个级别:
MQTT协议本身在CONNECT消息中指定用户名和密码。 EMQ X 以插件形式是各种数据,如Username、ClientID、HTTP、JWT、LDAP和MongoDB、MySQL、PostgreSQL和PostgreSQL
在传输层,TLS使用客户端证书确保客户端到服务器的验证,并确保服务器向客户端验证服务器证书。 它还支持基于PSK的TLS/DTLS身份验证。
说到插件,首先是钩子
挂钩(Hooks )是EMQ X提供的机制,通过阻止模块之间的函数调用、消息传递、事件传递来修改或扩展系统功能。
简单来说,该机制的目的是提高软件系统的可扩展性,便于与其他三方系统的集成,或者改变系统原有的缺省行为。
逻辑图:
三.设置认证打开ClientId认证
单击manage可以添加、修改和删除用户认证。
配置文件修改加密方式和预设认证数据:
如图所示,默认认证数据使用配置文件明文密码,从安全性和可维护性的角度应该避免使用此功能。
然后在web插座上测试:
由于没有经过认证,会催促拒绝连接。 因为这个clientId为1的被设定了密码。 连接需要正确的密码。
但是,我发现更改clientId后,其他终端不需要密码就可以自由访问。 emqx的认证机制如下图所示为认证链
所以这里是要关掉默认开启的匿名认证
2 .关闭匿名身份验证并打开emqx.conf
将true更改为false :
然后,发现其他终端可以随意访问,试着重新启动。
成功了。 一般来说,更改核心配置文件后,必须重新启动服务。
3 .其他认证方式
这里只使用了一种认证方式,其他的有机会再使用吧。
mysql认证虽然刚试过,但是很简单。 按照官方文档做就行了。
闲谈“注意街上的大家/彼此赶紧过马路/皱起眉头”。
我们还处于不安的时代。 男女老少焦于生存,焦于爱情,焦于名利……
不安可能不是坏事。 它能让我们不断思考。
伯恩斯坦从1947年到1948年创作了第2号交响曲—— 《焦虑的年代》。 在三部交响曲中我独自爱着这一部。 其中有你我都同样经历过的孤独、狂欢、希望和不安。 从害羞的咖啡豆最后三分钟的结尾部分,从沉稳的钢琴叙述到lkdlc式的自我解放,每一次听到都会像魔法一样感受到治愈人心的力量。 不久又回到不安中,也不需要害怕。 音乐带给我们的瞬间的平静,不会让我们那么彷徨。
The Age of Anxiety,symphony no.2 forpianoandorchestra (afterw.h.Auden ) :c. The Epilogue: Adagio; Andante Con Moto
【伯恩斯坦】【Bernstein】第2号交响曲《不安的时代》The Age of Anxiety Symphony No.2