Перейти к основному содержанию
Эта страница не применима к ClickHouse Cloud. Описанная здесь процедура в сервисах ClickHouse Cloud выполняется автоматически.
В этом руководстве описано, как настроить ClickHouse для использования протокола ACME, описанного в RFC8555. Благодаря поддержке ACME ClickHouse может автоматически получать и продлевать сертификаты от таких провайдеров, как Let’s Encrypt и ZeroSSL. Шифрование TLS защищает данные при передаче между клиентами и серверами ClickHouse, предотвращая перехват конфиденциальных запросов и их результатов.

Обзор

Протокол ACME определяет процесс автоматического обновления сертификатов с помощью таких сервисов, как Let’s Encrypt или ZeroSSL. Вкратце, чтобы получить сертификат, ClickHouse как его запрашивающая сторона должен подтвердить владение доменом с помощью предопределённых типов челленджей. Чтобы включить ACME, настройте порты HTTP и HTTPS, а также блок acme:
Порт HTTP обслуживает запросы ACME-челленджа HTTP-01 (подробнее о типах челленджей здесь) во время проверки домена. После завершения проверки и выпуска сертификата порт HTTPS обслуживает зашифрованный трафик с использованием полученного сертификата. HTTP-порт на самом сервере не обязан быть 80; его можно переназначить с помощью nftables или аналогичных инструментов. Информацию о портах, допустимых для челленджей HTTP-01, см. в документации вашего ACME-провайдера. В блоке acme мы задаём email для создания учётной записи и принимаем условия использования сервиса ACME. После этого нам нужен только список доменов.

Текущие ограничения

  • Поддерживается только тип челленджа HTTP-01.
  • Поддерживаются только ключи RSA 2048.
  • Ограничение частоты запросов не поддерживается.

Параметры конфигурации

Параметры конфигурации, доступные в разделе acme: Обратите внимание, что по умолчанию в конфигурации используется каталог Let’s Encrypt для продакшн-среды. Чтобы избежать исчерпания квоты запросов из-за возможной неправильной конфигурации, рекомендуется сначала протестировать процесс выпуска сертификатов с тестовым каталогом.

Администрирование

Первоначальное развертывание

При включении ACME-клиента в кластере с несколькими репликами во время первоначального выпуска сертификата нужна особая осторожность. Первая реплика, запущенная с включенным ACME, сразу попытается создать заказ ACME и пройти проверку HTTP-01 челленджа. Если в этот момент трафик обслуживает только часть реплик, проверка, скорее всего, завершится ошибкой, поскольку остальные реплики не смогут ответить на запросы валидации. Если это возможно, рекомендуется временно направить трафик на одну реплику (например, скорректировав DNS-записи) и дать ей завершить первоначальный выпуск сертификата. После того как сертификат будет успешно выдан и сохранен в Keeper, ACME можно включить на остальных репликах. Они автоматически будут использовать существующий сертификат и участвовать в последующих продлениях. Если направить трафик на одну реплику невозможно, альтернативный вариант — вручную загрузить существующий сертификат и закрытый ключ в Keeper до включения ACME-клиента. Это позволяет избежать начального этапа валидации и дает всем репликам возможность запускаться с уже имеющимся действительным сертификатом. После того как первоначальный сертификат будет выдан или импортирован, продление сертификата не требует специальных действий, поскольку все реплики уже будут работать с ACME-клиентом и совместно использовать состояние через Keeper.

Структура данных Keeper

Переход с других ACME-клиентов

Можно перенести текущие TLS-сертификат и ключ в Keeper, чтобы упростить переход. На данный момент сервер поддерживает только ключи RSA 2048. Предположим, что мы переходим с certbot и используем каталог /etc/letsencrypt/live; в этом случае можно воспользоваться следующим набором команд:
Последнее изменение 19 июня 2026 г.