Resolución del error 210 de verificación del certificado SSL en ClickHouse
Code: 210. DB::NetException: SSL Exception: error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED
Causa del error
clickhouse-client. La causa del error es una de las siguientes:
- en el archivo de configuración del cliente
config.xmlfalta el certificado raíz del almacén de CA predeterminado del sistema, o - hay un certificado de CA autofirmado o de una CA interna que no está configurado
Solución
config.xml, en el directorio del cliente (por ejemplo, /etc/clickhouse-client), y desactive la carga de los certificados raíz de CA predeterminados desde la ubicación predeterminada.
A continuación se muestra una configuración de ejemplo:
Clientes de Python en macOS
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate
En macOS, la versión de Python de python.org verifica los certificados mediante las rutas predeterminadas de OpenSSL en lugar del llavero del sistema. En una instalación limpia, esas rutas no apuntan a ningún paquete de certificados raíz: el instalador incluye certifi, pero no lo enlaza con la ubicación predeterminada de OpenSSL hasta que ejecutas el script incluido Install Certificates.command. Hasta entonces, el Client no puede validar el certificado del servidor de ClickHouse Cloud, aunque ese certificado sea válido. Esto afecta en general a las versiones de macOS de python.org (Python 3.6 y posteriores), no solo a Python 3.11.
Ejecuta Install Certificates.command para enlazar certifi con la ruta predeterminada de certificados de OpenSSL. Ajusta la versión en la ruta para que coincida con tu instalación:
ca_cert:
Recursos adicionales
clickhouse-client.