> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> Guía para configurar la comunicación segura mediante SSL/TLS entre ClickHouse y ZooKeeper

# Comunicación segura opcional entre ClickHouse y ZooKeeper

export const CloudNotSupportedBadge = () => {
  return <div className="cloudNotSupportedBadge">
            <div className="cloudNotSupportedIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.5" d="M6.33366 12.6666L12.3739 12.6667C13.6593 12.6667 14.7073 11.6187 14.7073 10.3334C14.7073 9.04804 13.6593 8.00003 12.3739 8.00003C12.3739 8.00003 12.3337 7.66659 12.0003 7.33325M10.667 5.33322C8.00033 2.33325 4.45395 4.78537 4.14195 6.68203C2.55728 6.7627 1.29395 8.06203 1.29395 9.6667C1.29395 11.3234 2.66699 12.6666 4.00033 12.6666" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.5" d="M2.66699 14L12.0003 4.66663" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>

        </div>
            No es compatible con ClickHouse Cloud
        </div>;
};

<CloudNotSupportedBadge />

<Note>
  Esta página no se aplica a [ClickHouse Cloud](https://clickhouse.com/cloud). El procedimiento que se documenta aquí está automatizado en los servicios de ClickHouse Cloud.
</Note>

Debe especificar `ssl.keyStore.location`, `ssl.keyStore.password`, `ssl.trustStore.location` y `ssl.trustStore.password` para comunicarse con ClickHouse client mediante SSL. Estas opciones están disponibles a partir de la versión 3.5.2 de Zookeeper.

Puede agregar `zookeeper.crt` a los certificados de confianza.

```bash theme={null}
sudo cp zookeeper.crt /usr/local/share/ca-certificates/zookeeper.crt
sudo update-ca-certificates
```

La sección `client` en `config.xml` tendrá este aspecto:

```xml theme={null}
<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>
```

Añade ZooKeeper a la configuración de ClickHouse con algunos parámetros del clúster y macros:

```xml theme={null}
<clickhouse>
    <zookeeper>
        <node>
            <host>localhost</host>
            <port>2281</port>
            <secure>1</secure>
        </node>
    </zookeeper>
</clickhouse>
```

Inicie `clickhouse-server`. En los logs debería ver:

```text theme={null}
<Trace> ZooKeeper: initialized, hosts: secure://localhost:2281
```

El prefijo `secure://` indica que la conexión está protegida con SSL.

Para asegurarse de que el tráfico esté cifrado, ejecute `tcpdump` en el puerto seguro:

```bash theme={null}
tcpdump -i any dst port 2281 -nnXS
```

Y ejecuta la consulta en `clickhouse-client`:

```sql theme={null}
SELECT * FROM system.zookeeper WHERE path = '/';
```

En una conexión no cifrada, verás en la salida de `tcpdump` algo como esto:

```text theme={null}
..../zookeeper/quota.
```

En una conexión cifrada, no deberías ver esto.
