> ## 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.

> Guide de configuration d’une communication SSL/TLS sécurisée entre ClickHouse et ZooKeeper

# Communication sécurisée optionnelle entre ClickHouse et 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>
            Non pris en charge par ClickHouse Cloud
        </div>;
};

<CloudNotSupportedBadge />

<Note>
  Cette page ne concerne pas [ClickHouse Cloud](https://clickhouse.com/cloud). La procédure décrite ici est automatisée dans les services ClickHouse Cloud.
</Note>

Vous devez spécifier `ssl.keyStore.location`, `ssl.keyStore.password`, `ssl.trustStore.location` et `ssl.trustStore.password` pour communiquer avec le client ClickHouse via SSL. Ces options sont disponibles à partir de la version 3.5.2 de ZooKeeper.

Vous pouvez ajouter `zookeeper.crt` aux certificats approuvés.

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

La section Client de `config.xml` ressemblera à :

```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>
```

Ajoutez Zookeeper à la configuration de ClickHouse avec quelques paramètres de cluster et des macros :

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

Démarrez `clickhouse-server`. Dans les logs, vous devriez voir :

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

Le préfixe `secure://` indique que la connexion est sécurisée par SSL.

Pour vérifier que le trafic est chiffré, exécutez `tcpdump` sur le port sécurisé :

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

Puis exécutez la requête dans `clickhouse-client` :

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

Avec une connexion non chiffrée, vous verrez dans la sortie de `tcpdump` quelque chose comme ceci :

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

Avec une connexion chiffrée, vous ne devriez pas voir ceci.
