Домен проходит проверку владения и получает TLS-сертификат для защищённого соединения
Безопасность

Как подключить HTTPS и сертификат к домену

Разбираем TLS-сертификат, проверку владения доменом, выпуск на хостинге и VPS, перенаправление HTTP и контроль автоматического продления.

Содержание

HTTPS защищает данные между браузером и сайтом от чтения и незаметной подмены в пути. Для него сервер предъявляет TLS-сертификат, в котором перечислены допустимые доменные имена. Если имя отсутствует, срок закончился или цепочка доверия не строится, браузер предупреждает посетителя.

Подключайте HTTPS после того, как домен уже направлен на готовую площадку. Затем проверьте все используемые имена, настройте переход с HTTP и обязательно испытайте автоматическое продление.

Что делает сертификат, а что остаётся за владельцем сайта

TLS — протокол защищённого соединения, на котором работает HTTPS. Сертификат связывает открытый криптографический ключ с доменным именем и подписывается доверенным центром сертификации. Браузер проверяет подпись, срок действия и соответствие имени.

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

Сертификат также не шифрует данные на диске сервера. За права файлов, обновления приложения и резервные копии отвечает владелец площадки.

Подготовьте каждое имя, которое будут открывать посетители

Составьте список адресов: основной домен, вариант с www и нужные поддомены. Каждый из них должен разрешаться в правильный IP или имя площадки и быть добавлен к проекту на хостинге.

Если www.example.com только перенаправляет на example.com, он всё равно нужен в сертификате. При HTTPS браузер проверяет сертификат до получения HTTP-ответа. То же относится к старому имени во время переноса.

Не добавляйте wildcard *.example.com без необходимости. Такой сертификат покрывает множество поддоменов одного уровня и требует особой DNS-проверки, но не заменяет имя example.com. Для нескольких известных адресов явный список проще контролировать.

Центр сертификации проверяет управление доменом

Автоматический протокол ACME позволяет программе запросить сертификат и доказать контроль над именем. Let’s Encrypt описывает несколько типов challenge — проверочных заданий.

При HTTP-01 клиент размещает временный ответ по специальному HTTP-пути, а центр сертификации запрашивает его снаружи. Домен должен вести на нужный сервер, порт 80 — быть доступен, а веб-сервер — не ломать служебный путь.

При DNS-01 создаётся специальная TXT-запись. Этот способ подходит для wildcard-сертификата и не требует доступного веб-сервера, но автоматизации нужен защищённый доступ к DNS. API-ключ ограничивайте нужной зоной и операциями, если провайдер поддерживает такие права.

TLS-ALPN-01 использует специальный ответ на порту 443 и поддерживается не каждой схемой размещения. Если хостинг управляет сертификатом сам, следуйте его процессу и не запускайте второй ACME-клиент параллельно.

На управляемом хостинге используйте встроенный выпуск

Добавьте домен к проекту и дождитесь, пока панель подтвердит DNS. Затем включите сертификат для всех нужных имён. Статус должен перейти из ожидания в активный; точные названия зависят от поставщика.

Если выпуск не начинается, проверьте:

  • домен уже указывает на эту площадку;
  • в проект добавлены обе версии адреса;
  • нет старой AAAA-записи, ведущей на другой сервер;
  • запись CAA разрешает выбранный центр сертификации;
  • домен не проксируется сервисом, который мешает проверочному пути;
  • лимиты повторных запросов не исчерпаны.

Не нажимайте «выпустить» десятки раз. Центры сертификации ограничивают частоту операций. Исправьте причину и повторите после указанного сервисом срока.

На VPS сертификат должен обслуживать веб-сервер

На собственном сервере ACME-клиент получает сертификат, сохраняет закрытый ключ и настраивает или уведомляет Nginx/Apache. Закрытый ключ не отправляют в репозиторий и не копируют в статью. Его читает только служба, которой он нужен.

Перед выпуском проверьте DNS, доступность портов и корректный виртуальный хост. После выпуска конфигурация веб-сервера должна ссылаться на актуальные файлы сертификата, а reload — пройти без ошибки. Подробный пример для Nginx находится в статье о домене, Nginx и HTTPS.

Не останавливайте работающий сайт ради каждого продления. Современная схема обновляет файлы и применяет их мягкой перезагрузкой веб-сервера после проверки конфигурации.

Перенаправьте HTTP на один основной HTTPS-адрес

Когда HTTPS проверен, настройте постоянный серверный редирект с HTTP. Он должен сохранять путь и параметры: запрос /catalog/item переходит на ту же страницу по https, а не на главную.

Если поддерживаются www и адрес без него, выберите один основной вариант. Остальные сочетания должны сходиться к нему без длинной цепочки. Canonical-ссылки, sitemap и внутренние URL также указывают основной HTTPS. Полный чек-лист есть в уроке о выборе адреса с www или без.

Не включайте HSTS до того, как HTTPS стабильно работает на всех нужных поддоменах. HSTS сообщает браузеру всегда использовать HTTPS, и ошибка может надолго сделать адрес недоступным для уже посетивших пользователей.

Проверьте сертификат снаружи

Откройте сайт в чистом браузере и проверьте каждое имя. В сведениях о сертификате должны совпадать домен и срок, а цепочка не должна вызывать предупреждение. Затем проверьте несколько внутренних страниц и ресурсы: картинка или скрипт по HTTP создают mixed content — смешанное содержимое, которое браузер может блокировать.

Сравните результат из другой сети, особенно если DNS менялся недавно. Неверная AAAA-запись может проявляться только у посетителей с IPv6. Проверка командой и расшифровка полей описаны в материале о диагностике TLS-сертификата.

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

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

Настройте предупреждение задолго до окончания срока. Оно должно приходить на доступную почту, но письмо не заменяет технический мониторинг. Если тест продления не проходит, устраните причину сейчас: через несколько недель DNS, firewall или права файлов сами не исправятся.

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

Источники

Рекламное местоВаша компания здесьРазместить рекламу

Самопроверка

Проверьте, что материал усвоен

Ответьте на все вопросы. Результат сохранится только в этом браузере и будет учтён в статистике прочитанных материалов.

01Что подтверждает обычный доменно-валидированный TLS-сертификат?
02Почему сертификат нужен и для адреса, который делает редирект?
03Что обязательно проверить после первого выпуска?

Разбираем коротко

Частые вопросы

Нужно ли покупать сертификат для обычного сайта?

Не обязательно. Многие хостинги и центры сертификации выдают доменно-валидированные сертификаты автоматически и бесплатно. Важнее настроить продление и проверять его работу.

Почему сертификат не выпускается сразу после изменения DNS?

Центр сертификации должен увидеть подтверждение на актуальном адресе или в DNS. Старый кеш, закрытый порт, неверная привязка домена или запись CAA могут помешать проверке.

Можно ли удалить HTTP после включения HTTPS?

Порт HTTP обычно оставляют для постоянного перенаправления на HTTPS и некоторых способов автоматической проверки домена. Сам сайт и чувствительные данные обслуживаются по HTTPS.