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

问题描述

系统:

  • Maxscale 2.5.9
  • Ubuntu 20.04

为了访问 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 密钥/证书是自签名的。

但是 使用命令行时,如:

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 指定它。

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...