使用接口POST /api/v4/banned 添加某个clientid后,错误日志error.log会报这个id认证失败,且web页面计数递增

环境信息

  • EMQ X 版本:emqx-4.3.5
  • 操作系统及版本:centos7.6
  • 其他

问题描述

我的需求是:阻止某个client登录,因为那个设备上的 用户名:密码 配置有误,找不到设备在哪,又不想看到它继续报错,影响观看排错。

操作和问题:使用接口POST /api/v4/banned 添加某个clientid后,错误日志error.log还是会不断的报这个client id认证失败,且dashboard web页面auth.failure计数递增。请看以下3张图

配置文件及日志



1 个赞

临时可以采用黑名单功能:黑名单 | EMQ Docs

你发过来这个方法不能永远禁止呀,我想禁止某个client id登录

那用防火墙直接限制这个客户端IP的连接。这样也跟本到不了认证

不知道客户端的IP是多少

抓包,根据这个clientid进行过滤获取IP

太麻烦了。那个banend接口实现不了吗?

登录都失败了,系统不会去记录的,肯定接口也查不到的。

那banned接口的黑名单 是啥意思?没用么

sorry ,我看成查询用户去了。这个黑名单就是短时间内平凡登录进行限制,短时间记录。目前还只能根据客户端ID去抓包。黑名单功能“自动封禁功能只封禁客户端标识符,并不封禁用户名和 IP 地址”。还得需要抓包进行处理

抓了一下,貌似也看不到client id呀,都是16进制 的东西

你在日志中搜索:not_authorized ,这里是有IP的


前提是客户端直连broker的。如果代理的话,需要代理设置把真实IP传给broker才行

前面有一层nginx做了负载均衡,nginx steam模块转发的tcp,不知怎么传递ip过来呀,nginx steam貌似不支持传递IP吧?

另外你们的邮件格式有些不美观。每次发来 图都显示不了。

支持。nginx 需要加proxy_protocol on; 然后emq 中开启:listener.tcp.external.proxy_protocol = on

这个应该是你自己那边的问题。其他都是正常的,我专门测试过的。

可能是网络的原因吧,我手机网络倒是可以打开,https://cn.gravatar.com/avatar/B9C0DD2F1C3DD55468D378E6C267E3C
看你们这些图引用了国外的站点,这些国外的站点 有的 网络运营商打不开,建议用国内的服务器。gitlab-ce默认也是引用这个网站的图,后面换成国内的就能显示了。

这个都是小问题。主要你的问题解了就好:grinning_face_with_smiling_eyes::grinning_face_with_smiling_eyes:

邮件不显示图片是 qq 邮箱的问题,你需要信任此发件人,才会显示里边的图片。

头像不显示的话,你可以在资料设置里自定义头像,这样就能显示了,默认头像是 gravatar