Бесплатный TLS/SSL Wildcard Let’s Encrypt

Получаем бесплатный wildcard сертификат от Let’s Encrypt для использования на всех поддоменах.

Профессиональная настройка MikroTik
Без предоплаты

Telegram: @Engineer_MikroTik

Для получения wildcard, белый IP не нужен, подойдёт любой Linux сервер за NAT. Можно запустить на локальном ПК VirtualBOX. Я использую контейнер Debian 11 на Proxmox, если такой возможности нет, то можно взять сервер на 1 день в VDSina примерно за 7 рублей.

Ставим пакет letsencrypt

apt update
apt-get install letsencrypt

Запрашиваем сертификат

certbot certonly --manual --preferred-challenges=dns --email Моя@Почта.ru --server https://acme-v02.api.letsencrypt.org/directory --agree-tos -d Домен.ru -d *.Домен.ru

Без домена 2 уровня, 3 уровень запросить не получится.

Бесплатный TLS/SSL Wildcard Let's Encrypt
Со всем соглашаемся и видим просьбу прописать DNS TXT запись _acme-challenge с предложенным значением ejE3xRNcwNmlU0CnM8gC8YAHQhqdNUm_b1i_zshKiSs
Жмем Enter и получаем запрос на добавление второй записи
Бесплатный TLS/SSL Wildcard Let's Encrypt
Добавляем в DNS TXT аналогично предыдущей записи

И прерываем процесс получения, иначе DNS запись кэшируется и придется ждать неопределенное количество времени для ее обновления.

Это делается где вы правите DNS записи. В моем случае это Яндекс.Почта для домена:

Бесплатный TLS/SSL Wildcard Let's Encrypt

И ждем пока запись обновится:

dig @8.8.4.4 -t txt _acme-challenge.1side.ru
Бесплатный TLS/SSL Wildcard Let's Encrypt
Ждем появления двух записей
Бесплатный TLS/SSL Wildcard Let's Encrypt
2 DNS записи _acme-challenge.1side.ru видны

И запускаем заново получение сертификата:

certbot certonly --manual --preferred-challenges=dns --email Моя@Почта.ru --server https://acme-v02.api.letsencrypt.org/directory --agree-tos -d Домен.ru -d *.Домен.ru

После получения, сертификат будет лежать в директории /etc/letsencrypt/live/

/etc/letsencrypt/live/example.com/fullchain.pem
/etc/letsencrypt/live/example.com/privkey.pem

Проверить сертификат можно командой certbot certificates, которая укажет где он лежит.

Теперь сертификат можно распространять по внутренним системам.

Автоматическое обновление

Входим в crontab -e где указываем команду обновления:

0 1 * * * /usr/bin/certbot renew >> /var/log/letsencrypt/renew.log

Конвертация в PFX

openssl pkcs12 -export -out site.pfx -inkey privkey.pem -in cert.pem -certfile fullchain.pem

Для импорта в Windows для использования в IIS, Wi-Fi и RDP

Обсудить

В комментариях на Dzen

Top