启用用户名密码认证后,原来通过SSL认证连接的客户端无法成功接入了?

环境信息

  • EMQX 版本:emqx5.0.4
  • 操作系统及版本:Linux
  • 其他

问题描述

在emqx的v5.0的控制台通过界面增加Built-in database认证后,原来通过SSL认证的客户端竟然无法通过认证连接了,请问下如何处理这种场景?既支持用户名和密码的认证的客户端,也可以支持SSL客户端不要再用户密码的认证只需要证书认证通过即可。
我停用用户名密码的认证后,SSL认证的客户端就可以正常连接上来。

配置文件及日志

listeners.tcp.default {
bind = “0.0.0.0:1883”
max_connections = 1024000
}

listeners.ssl.default {
bind = “0.0.0.0:8883”
max_connections = 512000
ssl_options {
keyfile = “/etc/emqx/certs/emqx.key”
certfile = “/etc/emqx/certs/emqx.pem”
cacertfile = “/etc/emqx/certs/ca.pem”
}
}

这是个且的关系。他是先通过ssl认证连接上来后,再去用Built-in database认证来检查mqtt的用户密码。

既支持用户名和密码的认证的客户端,也可以支持SSL客户端不要再用户密码的认证只需要证书认证通过即可。
目前是不支持的,想问一下为什么要这样子做?
或者,你想要的是这种么?针对不同客户端实现不同认证方式。内部外部客户端