跳至主要内容

DB::NetException: SSL 异常: error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED

·一分钟阅读

错误原因

在尝试使用 clickhouse-client 连接到 ClickHouse 服务器时会发生此错误。错误的原因可能是

  • 客户端配置文件 config.xml 中缺少机器 CA 默认存储中的根证书,或者
  • 存在未配置的自签名或内部 CA 证书

解决方案

如果使用内部或自签名 CA,请在客户端目录 (例如 /etc/clickhouse-client) 中的 config.xml 中配置 CA 根证书,并禁用从默认位置加载默认根 CA 证书。

以下是一个示例配置

<openSSL>
<client>
<loadDefaultCAFile>false</loadDefaultCAFile>
<caConfig>/etc/clickhouse-server/certs/marsnet_ca.crt</caConfig>
<cacheSessions>true</cacheSessions>
<disableProtocols>sslv2,sslv3</disableProtocols>
<preferServerCiphers>true</preferServerCiphers>
<invalidCertificateHandler>
<name>RejectCertificateHandler</name>
</invalidCertificateHandler>
</client>
</openSSL>

其他资源

查看 https://clickhouse.ac.cn/docs/en/interfaces/cli/#configuration_files