Certbot#

Установка#

Настройка#

Проверка#

Проверить активен ли certbot#

systemctl list-timers | grep certbot

Тест обновления сертификатов#

sudo certbot renew --dry-run

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

sudo certbot certificates

Ручной запуск#

sudo certbot --nginx -d toserbia.com -d www.toserbia.com
sudo systemctl reload nginx
sudo certbot certificates

Посмотреть renewal-файл#

sudo cat /etc/letsencrypt/renewal/toserbia.com.conf

Посмотреть последние симуляции:#

sudo certbot renew --dry-run

Проверяем systemd таймер#

systemctl list-timers | grep certbot
systemctl status certbot.timer

Чеклист-команд для проверки Certbot#

для проверки Certbot и автоматического продления сертификатов

#!/bin/bash
# Certbot Auto-Renewal Check Script

echo "=== 1. Проверка доступа к challenge ==="
sudo mkdir -p /var/www/letsencrypt/.well-known/acme-challenge
echo "ok" | sudo tee /var/www/letsencrypt/.well-known/acme-challenge/test.txt
curl -I http://toserbia.com/.well-known/acme-challenge/test.txt
echo "→ Должно быть HTTP 200 OK"

echo ""
echo "=== 2. Проверка редиректов HTTP → HTTPS ==="
curl -IL http://toserbia.com | head -n 5
echo "→ Убедитесь, что /.well-known/acme-challenge/ не редиректится"

echo ""
echo "=== 3. Проверка firewall (ufw) ==="
sudo ufw status
echo "→ Порты 80 и 443 должны быть ALLOW"

echo ""
echo "=== 4. Dry-run тест автопродления ==="
sudo certbot renew --dry-run

echo ""
echo "=== 5. Проверка systemd таймера ==="
systemctl list-timers | grep certbot
systemctl status certbot.timer

echo ""
echo "=== 6. Проверка renewal-конфига ==="
sudo cat /etc/letsencrypt/renewal/toserbia.com.conf | grep -E "authenticator|deploy_hook"

echo ""
echo "=== 7. Проверка даты истечения сертификата ==="
sudo certbot certificates | grep -E "Expiry Date|Certificate Name"

делаем исполняемым:

chmod +x ~/check_certbot.sh