Настроить проверку SSL-сертификатов Let’s Encrypt®

Чтобы ваш сайт был доступен по HTTPS, вы можете использовать SSL-сертификат, например бесплатный от Центра Сертификации Let’s Encrypt®.

Сертификаты Let’s Encrypt® действительны в течение 90 дней с момента выпуска. Для выпуска сертификата нужно подтвердить право на доменное имя — пройти проверку. Каждые 60 дней сертификаты нужно обновлять — также проходить проверку.

Есть два типа проверок: HTTP (через размещение файла на сервере) и DNS (через TXT-запись). В инструкции описан способ проверки через DNS-01.

Как работает проверка домена через DNS-01

Проверка DNS-01 требует подтверждения права на домен с помощью специальной TXT-записи для доменного имени. DNS-01 разрешает выпускать Wildcard-сертификаты.

Со стороны Let’s Encrypt® токен передаётся ACME-клиенту. ACME-клиент создаёт содержимое TXT-записи на основе токена и ключа аккаунта вида:

_acme-challenge.yourdomain.com TXT <token>

Затем Let’s Encrypt® запрашивает TXT-запись в DNS-зоне доменного имени. Если запись добавлена, и значения совпадут — сертификат будет выпущен.

Если ваше доменное имя делегировано на NS-серверы Selectel (Selectel является вашим DNS-провайдером), вы можете подтвердить право на домен с помощью услуги DNS-хостинг — настроить автоматический выпуск и обновление сертификата с помощью скриптов или выполнить ручной выпуск в панели управления.

Автоматический выпуск сертификата

Ручной выпуск сертификата

  1. Выпустите сертификат:

    acme.sh --issue -d yourdomain.com --dns \
    --yes-I-know-dns-manual-mode-enough-go-ahead-please
  2. Добавьте TXT-запись. При обновлении сертификата запись также нужно обновлять вручную.

  3. Подождите около минуты, чтобы DNS-записи обновились. Введите команду:

    acme.sh --renew -d <yourdomain.com> \
    --yes-I-know-dns-manual-mode-enough-go-ahead-please