ClickHouse 与 Zookeeper 之间的可选安全通信 | ClickHouse 文档 - ClickHouse 教程
ClickHouse 与 Zookeeper 之间的可选安全通信
对于通过 SSL 与 ClickHouse 客户端通信,您应该指定 ssl.keyStore.location、ssl.keyStore.password 和 ssl.trustStore.location、ssl.trustStore.password。这些选项从 Zookeeper 3.5.2 版本开始可用。
您可以将 zookeeper.crt 添加到受信任的证书中。
sudo cp zookeeper.crt /usr/local/share/ca-certificates/zookeeper.crt
sudo update-ca-certificates
config.xml 中的客户端部分如下所示
<client>
<certificateFile>/etc/clickhouse-server/client.crt</certificateFile>
<privateKeyFile>/etc/clickhouse-server/client.key</privateKeyFile>
<loadDefaultCAFile>true</loadDefaultCAFile>
<cacheSessions>true</cacheSessions>
<disableProtocols>sslv2,sslv3</disableProtocols>
<preferServerCiphers>true</preferServerCiphers>
<invalidCertificateHandler>
<name>RejectCertificateHandler</name>
</invalidCertificateHandler>
</client>
在 ClickHouse 配置中添加 Zookeeper 以及一些集群和宏
<clickhouse>
<zookeeper>
<node>
<host>localhost</host>
<port>2281</port>
<secure>1</secure>
</node>
</zookeeper>
</clickhouse>
启动 clickhouse-server。在日志中您应该看到
<Trace> ZooKeeper: initialized, hosts: secure://:2281
前缀 secure:// 表示连接已通过 SSL 加密。
要确保流量已加密,请在安全端口上运行 tcpdump
tcpdump -i any dst port 2281 -nnXS
并在 clickhouse-client 中查询
SELECT * FROM system.zookeeper WHERE path = '/';
在未加密的连接上,您将在 tcpdump 输出中看到类似以下内容
在加密连接上,您不应该看到此内容。


© . This site is unofficial and not affiliated with ClickHouse, Inc.