Скрипт и systemd-таймер автоматического перевыпуска Let's Encrypt SSL
Готовый systemd service и timer для certbot renew: автоматический перезапуск Nginx/Apache через post-hook, логирование и проверка срока действия SSL сертификата.
Интерактивный генератор под ваши параметры
Параметры подставляются в код в реальном времени
/etc/systemd/system/certbot-renew.timer
# /etc/systemd/system/certbot-renew.service
[Unit]
Description=Certbot SSL Renewal Service
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/bin/certbot renew --quiet --post-hook "systemctl reload nginx"
# /etc/systemd/system/certbot-renew.timer
[Unit]
Description=Run Certbot twice daily
[Timer]
OnCalendar=*-*-* 03,15:30:00
RandomizedDelaySec=3600
Persistent=true
[Install]
WantedBy=timers.target
Разбор ключевых директив конфигурации
Техническое обоснование директив и их прямое влияние на процессор (CPU), оперативную память (RAM) и дисковый ввод-вывод (NVMe I/O).
| Директива / Блок | Рекомендуемое значение | Зачем нужно и системное влияние (CPU / RAM / I-O) |
|---|---|---|
--post-hook 'systemctl reload nginx' |
reload nginx | Бесшовно обновляет сертификаты в памяти веб-сервера без обрыва пользовательских соединений. |
RandomizedDelaySec=3600 |
1 час | Рандомизирует время запроса к серверам Let's Encrypt, исключая пиковые перегрузки. |
ufw default deny incoming |
deny incoming | Блокирует все входящие порты по умолчанию, оставляя доступными только явно разрешенные сервисы (HTTP/HTTPS/SSH). |
bantime = 24h |
24h | Блокирует IP адрес атакующего на 24 часа при превышении порога неудачных попыток авторизации. |
Рекомендуемые системные требования VDS под этот стек
Расчет минимальной и оптимальной конфигурации виртуального сервера для стабильной работы без сбоев.
Оптимальный сайзинг: Любой Linux сервер с Certbot
Timeweb Cloud
2 CPU / 4 GB NVMe
Рекомендуемые ресурсы
1 vCPU /
1 GB RAM /
10 GB
Selectel
2 vCPU / 4 GB RAM
Рекомендуемые ресурсы
1 vCPU /
1 GB RAM /
10 GB
Beget
Turbo 4 GB
Рекомендуемые ресурсы
1 vCPU /
1 GB RAM /
10 GB
Онлайн-утилиты SysKit для проверки этого сервера
Протестируйте корректность применения конфигурации прямо сейчас в один клик.
Частые ошибки при настройке и их решение (FAQ)
Типовые проблемы вебмастеров и сисадминов при внедрении данной конфигурации.
Как протестировать обновление вручную?
Выполните `certbot renew --dry-run`.
Как не заблокировать собственный IP адрес?
Добавьте ваш IP в директиву `ignoreip = 127.0.0.1/8 ::1 ВАШ_IP` в файле `/etc/fail2ban/jail.local`.
Как разблокировать ошибочно забаненный IP?
Выполните команду `fail2ban-client set <jail_name> unbanip <IP_ADDRESS>`.
Рекомендуемые смежные конфигурации
Дополнительные рецепты и калькуляторы для полной оптимизации данного серверного стека.