Получение сертификата Let’s Encrypt через DNS-валидацию

Lets Encrypt через DNS Статьи

Получение сертификата Let’s Encrypt через DNS-валидацию

   В данной статье мы рассмотрим как получить сертификат Lets Encrypt через DNS. Получение сертификата Let’s Encrypt с использованием валидации через DNS (DNS-01) подходит, если вы хотите подтвердить право на управление доменом, добавляя специальную запись в DNS. Этот способ удобен, когда нет доступа к серверу или нужно получить сертификат для поддоменов, недоступных через HTTP. Далее описан процесс пошагово, в котором мы используем примеры на основе дистрибутива Debian

Установите certbot

   Для начала проверьте, установлен ли certbot. Если нет, выполните установку. На большинстве систем Linux это делается так:

Установите плагин для автоматизации DNS

   Для некоторых DNS-провайдеров существуют плагины, которые позволяют автоматически добавлять записи в DNS.

Примеры:

  • Cloudflare: python3-certbot-dns-cloudflare
  • DigitalOcean: python3-certbot-dns-digitalocean
  • Route 53: python3-certbot-dns-route53

Установите подходящий плагин. Например, для Cloudflare:

Настройте доступ к API (при использовании автоматизации)

   Если вы собираетесь применять плагин, создайте API-токен или ключ у вашего DNS-провайдера. Убедитесь, что у токена есть права на управление DNS.

   Сохраните токен в файле, например:

Получение сертификата с помощью certbot

Для автоматизированной работы с DNS-плагином выполните:

В этом примере запрос идет на сертификат для some-site.ru и всех его поддоменов.

Ручной режим добавления DNS-записей

Если для вашего DNS-провайдера плагина нет, используйте ручной способ:

1. Запустите certbot с параметром --manual:

2. Программа покажет ключ для добавления в виде TXT-записи в DNS, например:

3. В панели управления DNS добавьте эту запись.

4. После обновления DNS (обычно это занимает несколько минут), проверьте наличие записи:

5. Вернитесь в терминал и нажмите Enter, чтобы завершить процесс.

Проверка сертификата

   После успешного выполнения сертификаты будут доступны в каталоге /etc/letsencrypt/live/some-site.ru/.

Настройка обновления

Чтобы автоматизировать обновление сертификатов, настройте задачу в cron.

  • Если вы используете DNS-плагин: 0 0 * * * certbot renew --quiet
  • Для ручного метода процесс обновления потребует повторного добавления TXT-записей.

   Следуя этим шагам, вы сможете получить сертификаты Lets Encrypt через DNS валидацию и применять их для своих доменов.

Оцените автора
Серверное администрирование
Добавить комментарий