You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JDBC驱动SSL连接Aerospike时默认端口3000问题排查

Aerospike JDBC驱动连接SSL认证主机时端口异常问题

我尝试连接需要SSL认证的Aerospike主机,使用aql命令可以成功连接,命令如下:

aql -h test-host.co.in:tls1:4333 --tls-enable --tls-cafile ~/certificates/aerospike-server-ca.pem

但使用Aerospike JDBC驱动的连接字符串时连接失败,所用JDBC字符串为:

jdbc:aerospike:ssl://test-host.co.in:4333?enableTLS=true&trustStorePath=~/certificates/aerospike-server-ca.pem

报错信息为:Failed to connect to [1] host(s): ssl 3000。我在Datagrip和DBeaver中均遇到此问题,明明已指定4333端口,为何默认走3000?我的JDBC字符串是否存在错误?


问题原因与修正方案

你的JDBC连接字符串格式存在两处关键错误,导致驱动未正确识别端口和证书配置:

错误点解析

  1. 错误使用ssl://前缀:Aerospike JDBC驱动的标准连接前缀是jdbc:aerospike://,SSL启用通过参数控制,而非协议前缀。ssl://会导致驱动解析地址逻辑混乱,无法读取指定端口。
  2. 证书参数不匹配:你使用的trustStorePath是Java密钥库路径参数,但你提供的是PEM格式证书,驱动对应PEM证书的参数是tlsCaFile。
  3. 端口未通过参数明确指定:端口需通过port=xxx参数单独声明,直接拼接在主机后无法被驱动正确识别,因此 fallback到默认的3000端口。

修正后的连接字符串

jdbc:aerospike://test-host.co.in?port=4333&enableTLS=true&tlsCaFile=~/certificates/aerospike-server-ca.pem

验证说明

  • 去掉ssl://前缀,改用标准驱动前缀
  • 通过port=4333明确指定端口
  • 用tlsCaFile指向PEM格式的CA证书文件

按照上述配置,即可正常连接到指定4333端口的Aerospike主机。

内容的提问来源于stack exchange,提问作者midhun mathew

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 11:57:10