Maxscale:在 maxscale.cnf 中设置 admin_ssl 参数时出现 maxctrl 错误

Maxscale: maxctrl error when admin_ssl parameters are set in maxscale.cnf

系统:

为了访问 Web AdminGUI,我的 maxsclale.cnf 文件如下所示:

[maxscale]
threads=auto
admin_host=0.0.0.0
admin_secure_gui=1
admin_auth=1
admin_enabled=1
admin_gui=1
admin_ssl_key=/etc/ssl/certs/maxscale-key.pem
admin_ssl_cert=/etc/ssl/certs/maxscale-cert.pem
admin_ssl_ca_cert=/etc/ssl/certs/ca-certificates.crt

[...all other configuration..]

通过此配置,我可以通过浏览器从内部 IP 地址(不是 127.0.0.1)访问端口 8989 上的 Web-AdminGUI。 SSL key/certs 是自签名的。

但是 使用如下命令行时:

maxctrl list servers

我收到以下错误:

Error: Error: socket hang up

当我删除或注释掉带有 admin_ssl_XXX 参数的行并重新启动 maxscale 时,命令行再次工作,但当然 Web-AdminGUI 不会。

我尝试了各种 SSL 证书创建(也是 mariadb.com-网站上列出的证书 https://mariadb.com/docs/security/encryption/in-transit/create-self-signed-certificates-keys-openssl/#create-self-signed-certificates-keys-openssl), 问题依旧。

maxscale.log 中没有任何错误。

调试此问题的最佳方法是什么? 或者您手头有没有正确答案?

非常感谢您的帮助!

BR。马丁

您应该使用 maxctrl --secure 来加密它使用的连接。

由于您使用的是自签名证书,如果系统证书库中未安装 CA 证书,则还必须使用 --tls-ca-cert=/etc/ssl/certs/ca-certificates.crt 指定 CA 证书。

此外,您可能需要使用 --tls-verify-server-cert=false 来禁用有关自签名证书的任何警告。