ubuntu Cassandra的cqlsh无法连接到任何服务器:上次错误:[SSL]内部错误(_ssl.c:727)”)

pu3pd22g  于 2022-12-22  发布在  Cassandra
关注(0)|答案(1)|浏览(217)

突然之间,一个以前工作的Docker部署的集群停止接受任何连接:

cqlsh --debug --ssl -u <username> -p <username>
...
Using CQL driver: <module 'cassandra' from '/opt/cassandra/bin/../lib/cassandra-driver-internal-only-3.11.0-bb96859b.zip/cassandra-driver-3.11.0-bb96859b/cassandra/__init__.py'>
Using connect timeout: 300 seconds
Using 'utf-8' encoding
Using ssl: True
Connection error: ('Unable to connect to any servers', {'172.X.X.X': error(1, u"Tried connecting to [('172.X.X.X', 9042)]. Last error: [SSL] internal error (_ssl.c:727)")})

在节点端没有例外。
这***不是***网络问题,因为没有--ssl选项的连接会导致cassandra节点上的io.netty.handler.ssl.NotSslRecordException: not an SSL/TLS record...异常(这意味着它看到主机并可以与之通信)。
问题或多或少是在用于身份验证的证书的某个地方。
是否有任何方法可以获得有关底层错误的更多详细信息?
PS:当使用已切换为ubuntu-focal的cassandra 3.11.9图像时,会发生该问题:https://github.com/docker-library/cassandra/commit/8b1427f0670684b13e58006c0bf46df18a01ee0b与cassandra 3.11.7一切工作正常

yc0p9oo0

yc0p9oo01#

看起来Cassandra 3.11.8+需要一个更新版本的TLS。在cqlsh客户端配置中强制它应该会有帮助(参见How to force SSL TLSv1.2 protocol with DSE)。

[connection]
(...)
factory = cqlshlib.ssl.ssl_transport_factory
ssl = true

[ssl]
(...)
version = SSLv23

相关问题