Глава 9: Бесплатный SSL-сертификат от Let's Encrypt с помощью Certbot
9.1 Зачем нужен HTTPS? Аналогия с запечатанным конвертом
Представь, что HTTP — это почтовая открытка. Любой почтальон (провайдер, владелец точки Wi-Fi) может прочитать, что на ней написано. Ваши логины, пароли, личные данные — всё как на ладони.
HTTPS — это запечатанный конверт с защитой от вскрытия. Даже если кто-то перехватит его, он не сможет прочитать содержимое. В браузере это отображается как 🔒 замочек в адресной строке.
Зачем это тебе?
Доверие: Посетители видят замочек и понимают, что сайт безопасный.
SEO: Google и Яндекс повышают в поиске сайты с HTTPS.
Современные технологии: Многие функции браузеров (геолокация, push-уведомления) работают только по HTTPS.
Безопасность данных: Если будешь добавлять формы обратной связи или авторизацию.
9.2 Подготовка: настройка доменного имени
Для получения SSL-сертификата нужен домен, а не просто IP-адрес.
Вариант 1 (лучший, но платный): Купить настоящий домен.
Зайди на сайт регистратора (например, reg.ru, nic.ru, namecheap.com).
Выбери и купи понравившийся домен (например,
my-wood-master.ruилиivanov-site.site).В настройках домена добавь A-запись, которая свяжет домен с IP-адресом твоего сервера.
Тип: A Имя: @ (или оставь пустым) Значение: ТВОЙ_ВНЕШНИЙ_IP_АДРЕС TTL: АвтоТакже добавь запись для
www:Тип: A Имя: www Значение: ТВОЙ_ВНЕШНИЙ_IP_АДРЕС
Вариант 2 (бесплатный для тренировки): Динамический DNS (DynDNS). Если у тебя нет статичного IP или ты не хочешь покупать домен, используй сервисы вроде DuckDNS или No-IP.
Зарегистрируйся на duckdns.org.
Выбери себе субдомен:
твоеназвание.duckdns.org.На сервере установи DuckDNS клиент:
Затем настрой автоматическое обновление IP в инструкциях на сайте DuckDNS.
ВАЖНОЕ ПРЕДУПРЕЖДЕНИЕ: Прежде чем продолжить, убедись, что твой сервер доступен из интернета по 80 и 443 портам! Для этого можешь временно (ТОЛЬКО ДЛЯ ПОЛУЧЕНИЯ СЕРТИФИКАТА) настроить проброс портов на роутере (Port Forwarding):
Порт 80 (HTTP) → IP твоего сервера в локальной сети
Порт 443 (HTTPS) → IP твоего сервера в локальной сети
После получения сертификата ОБЯЗАТЕЛЬНО настрой фаервол (гл. 6.3)!
9.3 Пошаговая установка и настройка Certbot
Certbot — это волшебная программа, которая делает всё за тебя.
Шаг 1: Установка Certbot и плагина для Apache.
Шаг 2: Получение и установка SSL-сертификата. Эта команда сделает всё автоматически:
Проверит, что домен указывает на твой сервер
Получит сертификат от Let's Encrypt
Настроит Apache для работы с HTTPS
Настроит автоматическое перенаправление с HTTP на HTTPS
Тебе будет задано несколько вопросов:
Введите адрес электронной почты: Введи свой email для уведомлений о продлении.
Прочитайте и согласитесь с Условиями предоставления услуг: Нажми
A(Agree).Хотите ли вы поделиться своим email-адресом...: Выбирай
YилиNпо желанию.Какие имена хостов вы хотите активировать HTTPS для? Certbot покажет твой домен. Нажми Enter, чтобы выбрать все.
Перенаправить ли трафик с HTTP на HTTPS? ВЫБЕРИ ВАРИАНТ 2: Redirect. Это самое важное — все запросы по HTTP будут автоматически переадресованы на защищённый HTTPS.
Если всё прошло успешно, ты увидишь сообщение:
Шаг 3: Проверка.
Открой браузер и зайди на свой сайт по HTTP (http://твой-домен.ру). Ты должен автоматически быть перенаправлен на HTTPS (https://твой-домен.ру), и в адресной строке будет 🔒 замочек!
9.4 Автоматическое обновление сертификата
Сертификаты Let's Encrypt действуют 90 дней. Certbot уже настроил автоматическое обновление, но давай проверим.
Проверить статус автоматического обновления:
Должен быть активен (active).
Вручную проверить работу обновления (тестовый режим):
Если видишь The test run was successful — всё настроено правильно. Certbot будет автоматически обновлять сертификат до истечения срока.
Важно: Если ты менял конфигурацию Apache или добавлял новые домены, нужно обновить конфигурацию Certbot:
Он предложит обновить сертификат для новых доменов.
Последнее обновление