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

启用TLSv1.3的Cassandra 4.0.7通过cqlsh连接失败(驱动3.25.0)

问题解决:cqlsh连接启用TLSv1.3的Cassandra 4.0.7集群失败

核心原因

cqlsh依赖的Python版Cassandra驱动(cassandra-driver)版本过低,不支持TLSv1.3协议。你使用的Datastax Java驱动3.25.0已支持TLSv1.3,因此应用能正常连接,但cqlsh因驱动限制无法协商TLSv1.3。

解决方案

1. 升级Python版Cassandra驱动

TLSv1.3支持从cassandra-driver 3.26.0版本开始引入,需升级到该版本或更高兼容版本:

  • 先检查当前驱动版本:
    在cqlsh中执行:
    SELECT cqlsh_version, driver_version FROM system.local;
    
    或在Python环境中执行:
    pip show cassandra-driver
    
  • 执行升级命令:
    pip install --upgrade cassandra-driver>=3.26.0
    

2. 检查并修正cqlshrc配置

确保cqlshrc的[ssl]段正确指定TLSv1.3协议:

[ssl]
certfile = /apache-cassandra/conf/your-cert.pem  # 替换为你的证书路径
validate = true
ssl_version = TLSv1.3

如果之前配置的是ssl_version = TLS,旧驱动可能只会协商到TLSv1.2,需明确指定TLSv1.3。

3. 验证系统OpenSSL版本

Python的ssl模块依赖系统OpenSSL,TLSv1.3要求OpenSSL版本≥1.1.1:

  • 在Python中检查版本:
    import ssl
    print(ssl.OPENSSL_VERSION)
    
  • 若版本低于1.1.1,需升级系统OpenSSL,或重新编译Python以链接新版OpenSSL。

验证

重新执行连接命令:

./cqlsh --debug --ssl --cqlshrc /apache-cassandra/conf/cqlshrc <IP_ADDRESS> 9042

此时应能成功协商TLSv1.3并连接集群。

内容的提问来源于stack exchange,提问作者kapil shewate

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 04:48:27