Настройка Let's Encrypt для автоматического обновления SSL

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.
Разработка и обслуживание любых видов сайтов:
Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Настройка Let's Encrypt для автоматического обновления SSL
Простая
от 4 часов до 2 рабочих дней
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    874
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    851

Настройка Let's Encrypt SSL с автоматическим обновлением

Let's Encrypt — бесплатный центр сертификации, выдающий DV-сертификаты сроком 90 дней. Certbot автоматизирует получение и обновление: сертификат обновляется без ручного вмешательства.

Установка Certbot

# Ubuntu/Debian
apt install certbot python3-certbot-nginx

# CentOS/RHEL
dnf install certbot python3-certbot-nginx

# Snap (универсальный)
snap install --classic certbot
ln -s /snap/bin/certbot /usr/bin/certbot

Получение сертификата

# Автоматический режим — Certbot сам правит nginx конфиг
certbot --nginx -d example.ru -d www.example.ru

# Только получить сертификат (без изменения nginx)
certbot certonly --nginx -d example.ru -d www.example.ru

# Wildcard сертификат (только через DNS challenge)
certbot certonly --manual \
    --preferred-challenges=dns \
    -d example.ru \
    -d *.example.ru

Для wildcard нужно добавить TXT-запись _acme-challenge.example.ru в DNS. Поддерживается автоматизация через плагины (certbot-dns-cloudflare, certbot-dns-route53).

Автоматическое обновление через DNS-challenge (Cloudflare)

pip install certbot-dns-cloudflare

# /etc/letsencrypt/cloudflare.ini
dns_cloudflare_api_token = YOUR_CLOUDFLARE_API_TOKEN

certbot certonly \
    --dns-cloudflare \
    --dns-cloudflare-credentials /etc/letsencrypt/cloudflare.ini \
    -d example.ru \
    -d *.example.ru

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

Certbot при установке добавляет systemd timer или cron. Проверка:

# Проверить таймер
systemctl list-timers | grep certbot

# Тест обновления (без реального обновления)
certbot renew --dry-run

# Ручное обновление
certbot renew

Если хук не добавлен автоматически — добавить в cron:

# Crontab
0 3 * * * certbot renew --quiet --post-hook "systemctl reload nginx"

--post-hook перезагружает Nginx после обновления сертификата — без этого Nginx продолжит использовать старый сертификат.

Конфигурация Nginx после certbot

# /etc/nginx/sites-available/example.ru.conf
# (certbot добавит ssl_certificate и ssl_certificate_key автоматически)

server {
    listen 443 ssl;
    server_name example.ru www.example.ru;

    # Добавленные certbot
    ssl_certificate /etc/letsencrypt/live/example.ru/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.ru/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    # Дополнительно
    add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
    ssl_stapling on;
    ssl_stapling_verify on;
}

Мониторинг срока действия

# Проверить срок действия
openssl x509 -enddate -noout -in /etc/letsencrypt/live/example.ru/cert.pem

# Через curl
echo | openssl s_client -servername example.ru -connect example.ru:443 2>/dev/null \
    | openssl x509 -noout -dates

Мониторинг через Zabbix, Prometheus (blackbox_exporter) или сервис UptimeRobot (проверка SSL срока).

Срок настройки: 30–60 минут для одного домена с Nginx.