只启用ODP的enable_client_ssl,不生效,是否有其他注意点?

只启用ODP的enable_client_ssl,不生效,是否有其他注意点?

3 个赞

是不是4.3.4版本的ODP这块有BUG

3 个赞

执行/s看看呢

2 个赞

3 个赞


你设置的为false呀

2 个赞

image
是true

2 个赞

配置了 proxyconfig.security_config 没?

2 个赞

无法配置成功,用自签名证书,提示ERROR 8004 (HY000): SSL error

1 个赞

使用 ODP 的 root@proxysys 账号登录配置的么

1 个赞

是的

这是准备的证书
屏幕截图 2025-05-23 180745

1 个赞

学到了

1 个赞

一、enable_client_ssl 仅是开关,还需配置 SSL 证书

仅启用 enable_client_ssl = true 并不足以启用 SSL,必须确保以下证书相关配置也正确:
必须配置以下三个参数:

ssl_cert_file = /path/to/server-cert.pem # 服务端证书
ssl_key_file = /path/to/server-key.pem # 服务端私钥
ssl_ca_file = /path/to/ca-cert.pem # CA 根证书

注意事项:

文件路径必须是绝对路径。

权限要正确(ODP 进程需可读)。

证书必须为 PEM 格式,不能使用 PFX、DER。

二、ODP 启动后是否显示监听 SSL 端口?

启动 ODP 后查看日志文件或使用命令:

netstat -tnlp | grep obproxy

ODP 默认会在 SSL 端口上监听 2883(非 SSL 是 2881)。

如果没监听 2883,说明配置无效或加载失败。

三、确认证书合法性和匹配性

证书链是否正确(CA 与 cert 匹配)

key 与 cert 是否匹配(可用 openssl 验证):

openssl x509 -noout -modulus -in server-cert.pem | openssl md5
openssl rsa  -noout -modulus -in server-key.pem  | openssl md5

两个 hash 值必须一致。

四、客户端连接 SSL 是否开启?

客户端连接时必须明确指定使用 SSL,否则不会启用:

mysql -h127.0.0.1 -P2883 -uuser@tenant#cluster -p --ssl-mode=REQUIRED

可用 --ssl-mode=VERIFY_CA 或 VERIFY_IDENTITY 增加验证强度(需要 CA 文件)。

五、查看 ODP 日志验证 SSL 是否启用

日志路径通常在 $ODP_HOME/log/obproxy.log 或 obproxy.log.wf,查找以下关键字:

SSL is enabled

SSL listen on port 2883

若有错误会显示类似:

fail to load ssl cert file...
ssl init failed...

六、重启 ODP 生效

修改 SSL 参数后必须 重启 obproxy 实例:

obproxyctl stop
obproxyctl start

1 个赞

试试

没有

学到了