Установка бесплатного SSL-сертификата Let's Encrypt на сервер с Nginx или Apache

Обзор бесплатных SSL-сертификатов. В статье разберем: как работают SSL-сертификаты; плюсы SSL сертификата; Какие бывают SSL-сертификаты; Как бесплатно получить free SSL certificate

Что такое Let's Encrypt и зачем нужен SSL-сертификат

Let's Encrypt — это открытая сертификационная организация, предоставляющая бесплатные SSL-сертификаты, которые позволяют зашифровать соединение между сайтом и пользователем. SSL-сертификат:

  • Обеспечивает HTTPS-соединение

  • Защищает данные от перехвата

  • Повышает доверие пользователей

  • Улучшает SEO-позиции в поисковых системах

Установка SSL-сертификата является обязательным шагом для любого современного сайта, будь то личный блог, интернет-магазин или корпоративный портал.


Подготовка сервера к установке SSL-сертификата

Перед началом установки необходимо обновить систему и репозитории:

sudo apt-get -y update && sudo apt-get -y dist-upgrade

Эта команда обновит список доступных пакетов и выполнит полное обновление установленных компонентов. Рекомендуется запускать её на актуальной версии Ubuntu или Debian.


Установка Certbot — инструмента для работы с Let's Encrypt

Certbot — это официальный клиент Let's Encrypt. Для его установки выполните:

sudo apt-get -y install certbot

После завершения установки вы сможете использовать Certbot для генерации, продления и управления SSL-сертификатами.


Установка дополнительных модулей Certbot для Nginx и Apache

Для интеграции Certbot с конкретным веб-сервером необходимо установить соответствующий плагин.

Для Nginx:

sudo apt-get -y install python3-certbot-nginx

Для Apache2:

sudo apt-get -y install python3-certbot-apache

После установки плагинов можно переходить к генерации сертификатов.


Условия для успешной генерации SSL-сертификата

Перед запуском Certbot убедитесь:

  • Веб-сервер (Nginx или Apache) работает

  • Указанный домен направлен на IP-адрес сервера

  • Порт 80 (HTTP) открыт

Это критически важно, так как Certbot использует HTTP-вызов для валидации домена.


Генерация SSL-сертификата через Certbot для Nginx

Если вы используете Nginx, запустите следующую команду:

sudo certbot certonly --nginx -d yoursite.com

Замените yoursite.com на фактический домен. После завершения процесса сертификат будет сохранён в /etc/letsencrypt/live/yoursite.com/.


Генерация SSL-сертификата через Certbot для Apache

Для Apache используется другая команда:

sudo certbot certonly --apache -d yoursite.com

Certbot автоматически определит конфигурации Apache и предложит автоматическое внедрение SSL в конфигурационные файлы.


Альтернатива: Генерация через standalone (без веб-сервера)

Если веб-сервер не может быть запущен (например, порт 80 занят или сайт временно отключён), можно использовать режим standalone:

sudo certbot certonly --standalone -d yoursite.com

В этом случае Certbot поднимает собственный временный HTTP-сервер для прохождения валидации.


Настройка автоматического обновления SSL-сертификата

Let's Encrypt сертификаты действуют 90 дней. Чтобы продлить сертификат вручную, используйте:

sudo certbot renew

Чтобы настроить автоматическое продление, добавьте задачу в cron или используйте системный таймер:

sudo systemctl list-timers | grep certbot

Certbot автоматически проверяет сертификаты дважды в день и обновляет их при необходимости.


Проверка валидности и сроков действия сертификата

Для проверки статуса сертификата используйте:

sudo certbot certificates

Команда отобразит все текущие сертификаты, дату истечения и путь к ключам.


Распространённые ошибки и их решение

Ошибка
Причина
Решение

Timeout при генерации

Порт 80 закрыт

Откройте порт в фаерволе

"Domain not found"

DNS не настроен

Проверьте A-запись домена

"Permission denied"

Недостаточно прав

Запустите с sudo

Сертификат не применился

Автонастройка не сработала

Внесите SSL вручную в конфиг веб-сервера


Заключение: Быстрое и надёжное шифрование с Let's Encrypt

Let's Encrypt предоставляет удобный и бесплатный способ обеспечить безопасность вашего сайта. С Certbot процесс установки и продления сертификатов полностью автоматизирован, особенно при использовании Nginx или Apache. Следуя этой инструкции, вы сможете за несколько минут получить действующий сертификат и активировать HTTPS на своём домене.


Часто задаваемые вопросы (FAQ)

Можно ли использовать Let's Encrypt для поддоменов? Да. Просто укажите поддомен: -d sub.yoursite.com.

Работает ли Let's Encrypt с IPv6?

Да. Главное, чтобы DNS-записи были корректны.

Можно ли установить сертификат на локальный IP?

Нет. Только на публичные домены с доступом по HTTP.

Что делать, если срок действия сертификата истёк?

Запустите sudo certbot renew и перезапустите веб-сервер.

Можно ли использовать сертификат с другими веб-серверами (например, Caddy)?

Да. Сертификат можно экспортировать из /etc/letsencrypt/ и использовать вручную.

Работает ли Let's Encrypt с wildcard-сертификатами?

Да, при использовании DNS-челленджа.


Полезные ресурсы


Наши ресурсы

Telegram-канал: https://t.me/u1host U1HOST: https://u1host.com

Last updated