Skip to content

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

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

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

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

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

  • Обеспечивает HTTPS-соединение
  • Защищает данные от перехвата
  • Повышает доверие пользователей
  • Улучшает SEO-позиции в поисковых системах

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


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

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

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

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


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

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

bash
sudo apt-get -y install certbot

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


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

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

Для Nginx:

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

Для Apache2:

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

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


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

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

  • Веб-сервер (Nginx или Apache) работает
  • Указанный домен направлен на IP-адрес сервера
  • Порт 80 (HTTP) открыт

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


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

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

bash
sudo certbot certonly --nginx -d yoursite.com

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


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

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

bash
sudo certbot certonly --apache -d yoursite.com

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


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

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

bash
sudo certbot certonly --standalone -d yoursite.com

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


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

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

bash
sudo certbot renew

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

bash
sudo systemctl list-timers | grep certbot

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


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

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

bash
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/
F3 Cloud: https://f3cloud.com

База знаний F3 Cloud