Як вирішити помилку Let's Encrypt SSL Renewal на сервері Linux?
Посібник щодо помилок оновлення Certbot, проблем із перевіркою домену та прострочених сертифікатів SSL.
Коли термін дії сертифіката SSL веб-сайту закінчується, відвідувачі побачать незахищене попередження у своєму браузері. Це не тільки знижує довіру користувачів; WHMCS також створює серйозні проблеми для платіжних систем, підключень API, ігрових панелей і входу клієнтів.
Сертифікати Let's Encrypt безкоштовні, але їх необхідно періодично оновлювати. Якщо Certbot налаштовано неправильно, оновлення не вдасться, і SSL може закінчитися.
1. Перевірка наявних сертифікатів
Спочатку перевірте, які сертифікати присутні на сервері:
certbot certificates
Ця команда показує назву сертифіката, домени, шляхи до файлів і термін дії.
Якщо немає команди certbot, можливо, її не встановити:
certbot --version
2. Виконання оновленого тестування
Щоб перевірити сертифікат перед фактичним його оновленням:
certbot renew --dry-run
Ця команда перевіряє процес оновлення. Якщо є помилка, це дає змогу побачити проблему до фактичного дня оновлення.
3. Найпоширеніші помилки Certbot
Більшість помилок поновлення Let's Encrypt пов’язані з перевіркою домену та доступом до веб-сервера.
- Недійсна відповідь: Let's Encrypt не може отримати доступ до файлу підтвердження.
- Підключення відмовлено: Порт 80 або 443 може бути закритий.
- Час очікування під час підключення: Можливо, домен не направлено на сервер або брандмауер блокує його.
- Неавторизований: Файл підтвердження домену може повертати неправильний вміст.
- Забагато сертифікатів: Можливо, надто часто робилися спроби отримати сертифікат.
4. Перевірка IP-маршрутизації домену
Щоб поновлення сертифіката працювало, домен має бути спрямований на правильну IP-адресу сервера.
dig domainadi.com +short
Якщо dig не встановлено:
apt install dnsutils -y
У системах на основі CentOS:
yum install bind-utils -y
IP-адреса, яку повертає домен, має збігатися з IP-адресою сервера, на якому буде встановлено SSL.
5. Перевірка портів 80 і 443
Let's Encrypt часто хоче отримати доступ до порту 80 для автентифікації HTTP. Якщо порт 80 закритий, автентифікація може бути невдалою.
ss -tulpn | grep -E ':80|:443'
Якщо ви використовуєте брандмауер, переконайтеся, що порти 80 і 443 відкриті.
Для UFW:
ufw allow 80/tcp ufw allow 443/tcp ufw reload
Для Firewalld:
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload
6. Тестування конфігурації Nginx або Apache
Якщо у файлі конфігурації веб-сервера є помилка, веб-служба може не перезавантажуватися після оновлення certbot.
Для Nginx:
nginx -t
Для Apache:
apachectl configtest
Якщо помилок немає, можна перевстановити служби:
systemctl reload nginx
або:
systemctl reload apache2
7. Поновлення SSL-сертифікату вручну
Якщо всі перевірки правильні, ви можете запустити оновлення вручну:
certbot renew
Приклад Nginx, якщо вам потрібно повторити сертифікацію лише для певного домену:
certbot --nginx -d domainadi.com -d www.domainadi.com
Приклад Apache:
certbot --apache -d domainadi.com -d www.domainadi.com
8. Перевірка планувальника автоматичного оновлення
Certbot зазвичай автоматично оновлюється за допомогою таймера systemd або cron.
systemctl list-timers | grep certbot
Щоб перевірити стан таймера:
systemctl status certbot.timer
Якщо таймер вимкнено:
systemctl enable certbot.timer systemctl start certbot.timer
Поширені помилки
- Спроба отримати SSL, коли IP-адреса домену неправильна
- Закрийте порт 80 і зачекайте, доки запрацює HTTP-автентифікація
- Не перевіряється структура автентифікації, коли ввімкнено проксі Cloudflare
- Помилка конфігурації Nginx/Apache помилка certbot
- Не тестується автоматичне оновлення, доки не закінчиться термін дії SSL
FAQ
Якщо термін дії SSL минув, чи повністю закриється сайт?
Технічно сайт може працювати, але браузер показує попередження безпеки. Це серйозно знижує довіру клієнтів.
Чому не вдається поновити Certbot?
Зазвичай домен спрямовується на неправильну IP-адресу, порт 80/443 закрито, конфігурація веб-сервера неправильна або файл перевірки недоступний.
Чи є проблемою відновлення SSL під час використання Cloudflare?
Неправильний режим SSL або конфігурація проксі може вплинути на процес перевірки. Слід вибирати відповідний спосіб підтвердження домену.
Рекомендації з техніки безпеки та експлуатації
- Регулярно перевіряйте дати закінчення терміну дії SSL.
- Періодично запускайте перевірку certbot renew --dry-run.
- Не закривайте порти 80 і 443 без потреби.
- Після зміни конфігурації веб-сервера запустіть nginx -t або apachectl configtest.
- Не нехтуйте моніторингом SSL на доменах, які використовують платіжні та клієнтські панелі.
Ця стаття спеціально підготовлена для PvPServer.