客户端认证时使用HTTP认证器时设置过滤条件

在后台添加使用客户端认证时,添加使用HTTP认证器时设置过滤条件
str_neq(clientid,‘mtmsmqtt’)
当使用工具(MQTTX)连接时clientid添mtmsmqtt,还是走了认证器,无法连接成功,提示认证失败


你看失败日志 里面应该会说不认得这个 str_neg
你试试:

not(str_eq(clientid,‘test’))

这样就不会再报不认识表达式了,但是你的 test认证还是不能过。
因为:
当有认证器后,如果所有的认证器都不过的话,就会认证不通过。(这个认证器为空时,允许所有客户端都能连接的行为是不同的。)

意思是只要开了认证器,如果有连接,就必须得能匹配到一个认证器才行?连接才能通过?
我刚看新建了一个Http认证器,就不允许再新建http认证器了。
目前新建了一个别的认证器解决问题

虽然你可以这么做,但是我还是更推荐统一使用同一个认证器:
不要分开:
这样更高效,你把所有的认证都放在你自己的 http server 中来处理,想怎么干就能怎么干,自由度最高。

如果你非要让一部分服务器不用认证,就区分使用不同的监听器端口。
新建一个监听器:在高级选项中直接把 enable_authn=false


那这个端口就不需要认证了。
为了安全,最好加上防火墙限制,只让服务器的ip 来连。