Passer au contenu principal
Cette page ne concerne pas ClickHouse Cloud. La procédure décrite ici est automatisée dans les services ClickHouse Cloud.
Ce guide explique comment configurer ClickHouse pour utiliser le protocole ACME (décrit dans la RFC8555). Grâce à la prise en charge d’ACME, ClickHouse peut obtenir et renouveler automatiquement des certificats auprès de fournisseurs tels que Let’s Encrypt ou ZeroSSL. Le chiffrement TLS protège les données en transit entre les clients et les serveurs ClickHouse, empêchant l’interception de requêtes et de résultats sensibles.

Vue d’ensemble

Le protocole ACME définit un processus de renouvellement automatique des certificats avec des services comme Let’s Encrypt ou ZeroSSL. En bref, ClickHouse, en tant que demandeur de certificat, doit prouver qu’il contrôle le domaine au moyen de types de challenge prédéfinis afin d’obtenir un certificat. Pour activer ACME, configurez les ports HTTP et HTTPS ainsi que le bloc acme :
Le port HTTP traite les requêtes du challenge ACME HTTP-01 (plus d’informations sur les types de challenge ici) lors de la validation du domaine. Une fois la validation terminée et le certificat émis, le port HTTPS prend en charge le trafic chiffré à l’aide du certificat obtenu. Le port HTTP n’a pas besoin d’être le port 80 sur le serveur lui-même ; il peut être remappé à l’aide de nftables ou d’outils similaires. Consultez la documentation de votre fournisseur ACME pour connaître les ports acceptés pour les challenges HTTP-01. Dans le bloc acme, nous définissons email pour la création du compte et acceptons les conditions d’utilisation du service ACME. Après cela, il ne nous reste plus qu’à fournir une liste de domaines.

Limitations actuelles

  • Seul le challenge de type HTTP-01 est pris en charge.
  • Seules les clés RSA 2048 sont prises en charge.
  • La limitation du nombre de requêtes n’est pas prise en charge.

Paramètres de configuration

Options de configuration disponibles dans la section acme : Notez que, par défaut, la configuration utilise le répertoire de production de Let’s Encrypt. Pour éviter d’atteindre le quota de requêtes en raison d’une probable erreur de configuration, il est recommandé de tester d’abord le processus d’émission des certificats avec le répertoire de préproduction.

Administration

Déploiement initial

Lors de l’activation du client ACME sur un cluster comportant plusieurs répliques, des précautions supplémentaires sont nécessaires lors de l’émission initiale du certificat. La première réplique qui démarre avec ACME activé tentera immédiatement de créer un ordre ACME et d’effectuer la validation du challenge HTTP-01. Si, à ce moment-là, seule une partie des répliques reçoit du trafic, le challenge risque d’échouer, car les autres répliques ne pourront pas répondre aux requêtes de validation. Si possible, il est recommandé d’acheminer temporairement le trafic vers une seule réplique (par exemple, en ajustant les enregistrements DNS) et de la laisser mener à bien l’émission initiale du certificat. Une fois le certificat délivré avec succès et stocké dans Keeper, ACME peut être activé sur les répliques restantes. Elles réutiliseront automatiquement le certificat existant et participeront aux futurs renouvellements. S’il n’est pas possible d’acheminer le trafic vers une seule réplique, une autre approche consiste à téléverser manuellement le certificat existant et la clé privée dans Keeper avant d’activer le client ACME. Cela évite l’étape de validation initiale et permet à toutes les répliques de démarrer avec un certificat valide déjà présent. Une fois le certificat initial délivré ou importé, le renouvellement du certificat ne nécessite pas de traitement particulier, car toutes les répliques exécuteront déjà le client ACME et partageront leur état via Keeper.

Structure des données de Keeper

Migration depuis d’autres clients ACME

Il est possible de migrer le certificat TLS et la clé actuels vers Keeper pour simplifier la migration. Pour le moment, le serveur prend uniquement en charge les clés RSA 2048. En supposant une migration depuis certbot et l’utilisation du répertoire /etc/letsencrypt/live, vous pouvez utiliser la suite de commandes suivante :
Dernière modification le 2 juillet 2026