Глава 9: Бесплатный SSL-сертификат от Let's Encrypt с помощью Certbot

9.1 Зачем нужен HTTPS? Аналогия с запечатанным конвертом

Представь, что HTTP — это почтовая открытка. Любой почтальон (провайдер, владелец точки Wi-Fi) может прочитать, что на ней написано. Ваши логины, пароли, личные данные — всё как на ладони.

HTTPS — это запечатанный конверт с защитой от вскрытия. Даже если кто-то перехватит его, он не сможет прочитать содержимое. В браузере это отображается как 🔒 замочек в адресной строке.

Зачем это тебе?

  1. Доверие: Посетители видят замочек и понимают, что сайт безопасный.

  2. SEO: Google и Яндекс повышают в поиске сайты с HTTPS.

  3. Современные технологии: Многие функции браузеров (геолокация, push-уведомления) работают только по HTTPS.

  4. Безопасность данных: Если будешь добавлять формы обратной связи или авторизацию.

9.2 Подготовка: настройка доменного имени

Для получения SSL-сертификата нужен домен, а не просто IP-адрес.

Вариант 1 (лучший, но платный): Купить настоящий домен.

  • Зайди на сайт регистратора (например, reg.ruarrow-up-right, nic.ruarrow-up-right, namecheap.comarrow-up-right).

  • Выбери и купи понравившийся домен (например, my-wood-master.ru или ivanov-site.site).

  • В настройках домена добавь A-запись, которая свяжет домен с IP-адресом твоего сервера.

    Тип: A
    Имя: @ (или оставь пустым)
    Значение: ТВОЙ_ВНЕШНИЙ_IP_АДРЕС
    TTL: Авто
  • Также добавь запись для www:

    Тип: A
    Имя: www
    Значение: ТВОЙ_ВНЕШНИЙ_IP_АДРЕС

Вариант 2 (бесплатный для тренировки): Динамический DNS (DynDNS). Если у тебя нет статичного IP или ты не хочешь покупать домен, используй сервисы вроде DuckDNS или No-IP.

  1. Зарегистрируйся на duckdns.orgarrow-up-right.

  2. Выбери себе субдомен: твоеназвание.duckdns.org.

  3. На сервере установи 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

Тебе будет задано несколько вопросов:

  1. Введите адрес электронной почты: Введи свой email для уведомлений о продлении.

  2. Прочитайте и согласитесь с Условиями предоставления услуг: Нажми A (Agree).

  3. Хотите ли вы поделиться своим email-адресом...: Выбирай Y или N по желанию.

  4. Какие имена хостов вы хотите активировать HTTPS для? Certbot покажет твой домен. Нажми Enter, чтобы выбрать все.

  5. Перенаправить ли трафик с 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:

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

Последнее обновление