0Pricing
Linux Server Deployment & SSH Mastery · Урок

Включение HTTPS с помощью Let's Encrypt

Защитите веб-сервер бесплатными сертификатами TLS от Let's Encrypt. Установите Certbot, получайте сертификаты и настраивайте их автоматическое продление, а также настройте Nginx или Apache для передачи трафика по HTTPS с перенаправлением HTTP.

«Включение HTTPS с помощью Let's Encrypt» — бесплатный урок Linux Server Deployment & SSH Mastery на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Linux Server Deployment & SSH Mastery, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Linux Server Deployment & SSH Mastery содержит 4 уроков всего.

Почему HTTPS обязателен

Вы уже умеете размещать сайты и настраивать виртуальные узлы, но передача данных по обычному HTTP позволяет перехватывать и изменять трафик. Теперь браузеры помечают сайты HTTP как «Небезопасные».

HTTPS шифрует трафик с помощью сертификата TLS. Благодаря Let's Encrypt такие сертификаты предоставляются бесплатно и выдаются автоматически.

Как работает Let's Encrypt

Let's Encrypt — центр сертификации, который бесплатно выдаёт сертификаты со сроком действия 90 дней. Чтобы подтвердить управление доменом, он использует протокол ACME с автоматической проверкой.

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

Предварительные условия

Перед запросом сертификата убедитесь в следующем:

  • DNS A-запись Вашего домена указывает на IP сервера
  • Порты 80 и 443 открыты в брандмауэре
  • Веб-сервер запущен и обслуживает этот домен

Для проверки порт 80 должен быть доступен из интернета.

sudo ufw allow 'Nginx Full'
dig +short yourdomain.com

Установка Certbot

Certbot доступен в виде пакета, а его плагины для Nginx и Apache автоматически изменяют конфигурацию.

sudo apt install certbot python3-certbot-nginx
# For Apache:
sudo apt install certbot python3-certbot-apache

Получение сертификата (Nginx)

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

Certbot автоматически находит подходящий блок сервера.

sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

Получение сертификата (Apache)

Для Apache процесс такой же — с плагином apache. Certbot обновляет виртуальный хост, чтобы включить SSL.

sudo certbot --apache -d yourdomain.com

Принудительная переадресация на HTTPS

Во время настройки Certbot спрашивает, нужно ли переадресовывать HTTP на HTTPS — выберите «да». Если Вы пропустили этот шаг, добавьте переадресацию вручную в блоке HTTP-сервера.

server {
    listen 80;
    server_name yourdomain.com;
    return 301 https://$host$request_uri;
}

Автоматическое продление

Срок действия сертификатов истекает через 90 дней, но Certbot устанавливает таймер systemd (или задание cron), которое автоматически продлевает их. Вы можете безопасно проверить процесс продления в тестовом режиме.

sudo certbot renew --dry-run
systemctl list-timers | grep certbot

Проверка сертификата

Убедитесь, что HTTPS работает: посетите сайт и проверьте сертификат. Из CLI можно вывести список управляемых сертификатов и проверить срок их действия.

sudo certbot certificates
curl -svI https://yourdomain.com 2>&1 | grep -i 'subject\|expire'

Усиление TLS

Для максимальной безопасности настройте конфигурацию TLS: отключите старые протоколы, отдайте предпочтение надёжным шифрам и включите HSTS, чтобы браузеры всегда использовали HTTPS.

Такие инструменты, как генератор конфигурации SSL от Mozilla, создают готовые для вставки настройки.

ssl_protocols TLSv1.2 TLSv1.3;
add_header Strict-Transport-Security 'max-age=63072000' always;

Рекомендации

Обеспечьте надёжную работу HTTPS:

  • Всегда переадресовывайте HTTP на HTTPS
  • После настройки проверяйте продление с помощью --dry-run
  • Откройте порты 80 и 443; порт 80 необходим для продления
  • Включайте только HSTS и современные протоколы TLS

Быстрая проверка

Проверьте свои знания об HTTPS.

Итоги

Вы защитили веб-сервер с помощью бесплатного TLS:

  • Установили Certbot с плагином Nginx/Apache
  • Получили сертификаты с помощью certbot --nginx -d
  • Настроили принудительную переадресацию HTTP → HTTPS
  • Подтвердили работу автоматического продления в тестовом режиме

Теперь Ваши статические сайты и виртуальные хосты по умолчанию передают зашифрованный трафик.

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

Урок «Включение HTTPS с помощью Let's Encrypt» бесплатный?

Да — полный текст урока «Включение HTTPS с помощью Let's Encrypt» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Linux Server Deployment & SSH Mastery, подпишись на CoddyKit PRO. Курс Linux Server Deployment & SSH Mastery содержит 4 уроков всего.

Чему я научусь в уроке «Включение HTTPS с помощью Let's Encrypt»?

Защитите веб-сервер бесплатными сертификатами TLS от Let's Encrypt. Установите Certbot, получайте сертификаты и настраивайте их автоматическое продление, а также настройте Nginx или Apache для переда… Ты практикуешь Linux Server Deployment & SSH Mastery с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Linux Server Deployment & SSH Mastery?

Предыдущий опыт не требуется. Linux Server Deployment & SSH Mastery на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Включение HTTPS с помощью Let's Encrypt»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Linux Server Deployment & SSH Mastery?

Да. Каждый урок Linux Server Deployment & SSH Mastery включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Установка Nginx/Apache
  2. Размещение статических веб-сайтов
  3. Основная настройка виртуальных хостов
  4. Включение HTTPS с помощью Let's Encrypt
← Назад к Linux Server Deployment & SSH Mastery