Установка бесплатного SSL-сертификата Let's Encrypt на сервер с Nginx или Apache
Что такое Let's Encrypt и зачем нужен SSL-сертификат
Let's Encrypt — это открытая сертификационная организация, предоставляющая бесплатные SSL-сертификаты, которые позволяют зашифровать соединение между сайтом и пользователем. SSL-сертификат:
Обеспечивает HTTPS-соединение
Защищает данные от перехвата
Повышает доверие пользователей
Улучшает SEO-позиции в поисковых системах
Установка SSL-сертификата является обязательным шагом для любого современного сайта, будь то личный блог, интернет-магазин или корпоративный портал.
Подготовка сервера к установке SSL-сертификата
Перед началом установки необходимо обновить систему и репозитории:
Эта команда обновит список доступных пакетов и выполнит полное обновление установленных компонентов. Рекомендуется запускать её на актуальной версии Ubuntu или Debian.
Установка Certbot — инструмента для работы с Let's Encrypt
Certbot — это официальный клиент Let's Encrypt. Для его установки выполните:
После завершения установки вы сможете использовать Certbot для генерации, продления и управления SSL-сертификатами.
Установка дополнительных модулей Certbot для Nginx и Apache
Для интеграции Certbot с конкретным веб-сервером необходимо установить соответствующий плагин.
Для Nginx:
Для Apache2:
После установки плагинов можно переходить к генерации сертификатов.
Условия для успешной генерации SSL-сертификата
Перед запуском Certbot убедитесь:
Веб-сервер (Nginx или Apache) работает
Указанный домен направлен на IP-адрес сервера
Порт 80 (HTTP) открыт
Это критически важно, так как Certbot использует HTTP-вызов для валидации домена.
Генерация SSL-сертификата через Certbot для Nginx
Если вы используете Nginx, запустите следующую команду:
Замените yoursite.com
на фактический домен. После завершения процесса сертификат будет сохранён в /etc/letsencrypt/live/yoursite.com/
.
Генерация SSL-сертификата через Certbot для Apache
Для Apache используется другая команда:
Certbot автоматически определит конфигурации Apache и предложит автоматическое внедрение SSL в конфигурационные файлы.
Альтернатива: Генерация через standalone (без веб-сервера)
Если веб-сервер не может быть запущен (например, порт 80 занят или сайт временно отключён), можно использовать режим standalone:
В этом случае Certbot поднимает собственный временный HTTP-сервер для прохождения валидации.
Настройка автоматического обновления SSL-сертификата
Let's Encrypt сертификаты действуют 90 дней. Чтобы продлить сертификат вручную, используйте:
Чтобы настроить автоматическое продление, добавьте задачу в cron
или используйте системный таймер:
Certbot автоматически проверяет сертификаты дважды в день и обновляет их при необходимости.
Проверка валидности и сроков действия сертификата
Для проверки статуса сертификата используйте:
Команда отобразит все текущие сертификаты, дату истечения и путь к ключам.
Распространённые ошибки и их решение
Timeout при генерации
Порт 80 закрыт
Откройте порт в фаерволе
"Domain not found"
DNS не настроен
Проверьте A-запись домена
"Permission denied"
Недостаточно прав
Запустите с sudo
Сертификат не применился
Автонастройка не сработала
Внесите SSL вручную в конфиг веб-сервера
Заключение: Быстрое и надёжное шифрование с Let's Encrypt
Let's Encrypt предоставляет удобный и бесплатный способ обеспечить безопасность вашего сайта. С Certbot процесс установки и продления сертификатов полностью автоматизирован, особенно при использовании Nginx или Apache. Следуя этой инструкции, вы сможете за несколько минут получить действующий сертификат и активировать HTTPS на своём домене.
Часто задаваемые вопросы (FAQ)
Полезные ресурсы
Наши ресурсы
Last updated