问题描述
系统:
- 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
来禁用有关自签名证书的任何警告。