Налаштування 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.ua -d www.example.ua

# Тільки отримати сертифікат (без зміни nginx)
certbot certonly --nginx -d example.ua -d www.example.ua

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

Для wildcard потрібно додати TXT-запис _acme-challenge.example.ua у 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.ua \
    -d *.example.ua

Автоматичне оновлення

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

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

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

# Ручне оновлення
certbot renew

Якщо hook не додано автоматично — додати в cron:

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

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

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

# /etc/nginx/sites-available/example.ua.conf
# (certbot додасть ssl_certificate та ssl_certificate_key автоматично)

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

    # Доданих certbot
    ssl_certificate /etc/letsencrypt/live/example.ua/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.ua/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.ua/cert.pem

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

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

Строки налаштування: 30–60 хвилин для одного домену з Nginx.