我在Google kubernets上运行了VerneMQ(2个节点的集群(的实例,并使用MySQL(CloudSQL(进行Auth。服务器接受通过TLS 的连接
它工作得很好,但几天后我开始在日志上看到这条消息:
由于plugin_chain_exhausted ,无法从X.X.X.X:16609对客户端{[],<<客户端id>>}进行身份验证
客户端应用程序(paho(抱怨服务器拒绝连接,原因是";未被授权(paho错误中的代码=5(";
经过几次重试,它终于连接起来了。但每次它变得越来越难,直到它不再连接
如果我重新启动VerneMQ,一切都会恢复正常
我目前最多只能同时连接3个客户端。
已经连接的客户端在pub/sub中没有问题。
在我的配置中,我有(除其他外(:
log.console.level=debug
plugins.vmq_diversity=on
vmq_diversity.mysql.* = all of them set
allow_anonymous=off
vmq_diversity.auth_mysql.enabled=on
这就像服务器会随着时间的推移而退化。状态网页报告没有问题
我的verne服务器是大约一个月前从git存储库构建的,运行在docker容器上
原因可能是什么?我还可以检查什么来找到可能的原因?可能是多样性配置错误?
Tks
要快速解释plugin_chain_exhausted
日志:使用Verne,您可以运行多个身份验证/授权插件,它们将在链中进行检查。如果一个插件允许客户端,它就会在中。如果没有插件允许该客户端,你会看到上面的日志。
不过,这并不能解释你所描述的行为。我想我没见过。
无论如何,首先要检查的是你是否真的运行了多个插件。例如:您是否禁用了vmq.passwd和vmq.acl插件?