Включение 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 — локальная установка не требуется.
Все уроки этого курса
- Установка Nginx/Apache
- Размещение статических веб-сайтов
- Основная настройка виртуальных хостов
- Включение HTTPS с помощью Let's Encrypt