Установка бесплатного SSL-сертификата Let's Encrypt через Certbot: гайд
Зачем нужен сертификат Let's Encrypt?
Современные браузеры помечают сайты без SSL как опасные, запрещают передачу геолокации и снижают доверие пользователей. Бесплатный центр сертификации Let's Encrypt и утилита Certbot позволяют выпустить доверенный SSL за 2 минуты.
| Параметр | Самоподписанный SSL | Let's Encrypt (Certbot) |
|---|---|---|
| Стоимость | Бесплатно | Бесплатно |
| Доверие браузеров | Ошибка безопасности (красный экран) | Полное доверие (зеленый замочек) |
| Автоматическое продление | Нет | Да (через systemd timer/cron) |
Установка Certbot и выпуск сертификата
- Обновите пакеты и установите Certbot со специальным плагином под ваш веб-сервер:
# Для Nginx: sudo apt update sudo apt install certbot python3-certbot-nginx -y # Для Apache: sudo apt install certbot python3-certbot-apache -y - Запустите автоматическую генерацию и установку сертификата:
# Для Nginx: sudo certbot --nginx -d example.com -d www.example.com # Для Apache: sudo certbot --apache -d example.com -d www.example.com - Certbot запросит адрес вашей электронной почты (для уведомлений) и согласие с условиями использования. Введите
Y. - На шаге вопроса о перенаправлении трафика выберите вариант Redirect (принудительно переводить всех посетителей на HTTPS).
- Проверьте автоматическое продление сертификата:
sudo certbot renew --dry-run
Перед запуском: Убедитесь, что ваш домен в DNS (A-запись) уже указывает на реальный IP-адрес этого сервера, а порты 80 и 443 открыты в фаерволе.
Частые вопросы (FAQ)
На какой срок выдается сертификат Let's Encrypt?
Сертификат выдается на 90 дней. Утилита Certbot автоматически проверяет и продлевает его дважды в день, если до окончания срока действия остается менее 30 дней.
Что делать, если Certbot выдает ошибку Problem binding to port 80?
Эта ошибка возникает при использовании режима --standalone, если порт 80 уже занят запущенным Nginx или Apache. Используйте плагин --nginx или --apache вместо standalone.
Где сохраняются выданные сертификаты?
Все файлы ключей и цепочки сертификатов сохраняются в папке /etc/letsencrypt/live/имя_домена/.
Как отозвать или удалить сертификат для ненужного домена?
Выполните команду sudo certbot delete и выберите порядковый номер домена из предложенного списка.