Инструкции для владельцев и администраторов сайтов: от подготовки инфраструктуры до финального теста. Подходит для Nginx, Apache, IIS и популярных CMS.
Пошаговое руководство по настройке HTTPS, HTTP/2 и HSTS
Почему объединять HTTPS, HTTP/2 и HSTS — что получится в итоге
Переход на HTTPS защищает данные пользователей и нужен для корректной работы большинства современных функций браузеров. Включение HTTP/2 повышает скорость загрузки страниц за счёт мультиплексирования и сжатия заголовков. HSTS заставляет браузер обращаться к сайту только по HTTPS и предотвращает понижение протокола при атаке "downgrade".
Комбинация этих трёх настроек даёт одновременно защиту и улучшение пользовательского опыта: шифрование трафика, уменьшение задержек и отсутствие случайных переходов на незашифрованные соединения. Однако при внедрении важно соблюдать порядок действий и проверять каждый шаг, чтобы не допустить простоя сайта или проблем с кэшами и редиректами.
Перед началом полезно оценить текущую инфраструктуру: где хостится сайт, какие у вас доступы к DNS и серверу, используется ли CDN и какие типы сертификатов уже были. Это позволит заранее спланировать миграцию, минимизировать перерывы и подготовить план отката.
Подготовка: что собрать и проверить перед началом работ
Соберите доступы к: доменной панели (DNS), панели хостинга или серверу (SSH/RDP), панели управления CDN при его наличии, системе контроля версий и в админке CMS. Без этих доступов вы не сможете корректно выписать сертификат, настроить редиректы и внести заголовки HSTS.
Создайте резервную копию текущих конфигураций веб-сервера и файлов сайта. Файлы конфигураций Nginx/Apache/IIS и резервные копии базы данных позволят быстро откатиться при ошибке. Зафиксируйте текущие HTTP-заголовки и поведение сайта (включая карты sitemap и robots.txt).
Проверьте поддержку TLS и версий протоколов на сервере и на промежуточных элементах инфраструктуры (балансировщики, CDN). Уточните требования совместимости — какие версии TLS и какие шифры вы готовы поддерживать. Планируйте включение HTTP/2 только после корректной настройки TLS, так как большинство реализаций HTTP/2 работает поверх TLS.
- Доступ к DNS и аккаунту регистратора
- SSH/RDP или панель хостинга
- Резервные копии конфигураций и базы данных
- Информация о CDN/балансировщике (если есть)
Получение и подготовка SSL/TLS-сертификата
Выберите тип сертификата: бесплатный (Let's Encrypt) или коммерческий (DV/OV/EV) в зависимости от требований к валидации. Для большинства сайтов хватит DV-сертификата от доверенного центра сертификации. Убедитесь, что сертификат покрывает все используемые домены и поддомены (через SAN или wildcard для *.example.ru).
Процесс получения: подтвердите владение доменом (ACME challenge для Let's Encrypt или DNS/email/HTTP-валидация у коммерческих CA), сохраните приватный ключ, сертификат и цепочку промежуточных сертификатов. Для автоматизации ревокации и обновления используйте ACME-клиент (certbot, acme.sh и т.д.).
Проверьте форматы: некоторые платформы требуют PEM, другие — PFX/P12 (например, IIS). Если вы используете балансировщик или CDN, возможно потребуется загрузить сертификат туда. Никогда не раскрывайте приватный ключ и храните копии в защищённом месте.
Настройка HTTPS на популярных веб-серверах (Nginx, Apache, IIS)
Nginx: подключите файлы сертификата и ключа в server-блоке, включите сильные шифры и TLS-протоколы (рекомендуется отключать SSLv3 и TLS 1.0/1.1). Обязательно задайте корректные пути к fullchain.pem и privkey.pem, настройте директивы для безопасности заголовков и для редиректа с HTTP на HTTPS.
Apache: используйте модули mod_ssl и, при необходимости, mod_http2. В VirtualHost для 443 укажите SSLCertificateFile и SSLCertificateKeyFile, укажите SSLCertificateChainFile для промежуточных сертификатов. Проверьте конфигурацию с помощью apachectl configtest и перезапустите службу безопасным способом.
IIS: импортируйте сертификат в хранилище сервера и привяжите его к нужному сайту в настройках 'Bindings' (тип HTTPS). На IIS HTTP/2 поддерживается в версиях Windows Server с соответствующими обновлениями, но часто включается автоматически при наличии TLS и современных настроек. Для всех серверов после изменений проверьте рабочее состояние и логи на предмет ошибок при старте.
Включение HTTP/2: требования и практические шаги
HTTP/2 требует поддержки на сервере и у клиента; в привычной конфигурации он работает поверх TLS. На сервере нужно убедиться, что используется версия веб-сервера и модуль, поддерживающие HTTP/2 (nginx с опцией http2, Apache с модулем mod_http2). Обновления платформы могут потребоваться для получения стабильной реализации.
После включения HTTP/2 проверьте, что в ответах сервера действительно используется протокол h2. Это легко проверить с помощью curl (--http2 -I) или инструментов разработчика в браузере (Protocol/Version колонка). Проверьте функциональность сайта: отдельные серверные конфигурации либо неправильные директивы могут привести к падению производительности, если например неправильно настроены сжатие и кеширование.
Учитывайте параметры CDN и балансировщиков: если у вас есть промежуточная прослойка, она может завершать TLS и поддерживать HTTP/2 к клиенту, а от сервера к балансировщику идти HTTP/1.1. В таких случаях убедитесь, что внутренние соединения надежны и не влияют на поведение приложения.
Настройка и осторожность при включении HSTS
HSTS задаётся через заголовок Strict-Transport-Security и сообщает браузерам, что сайт доступен только по HTTPS в течение заданного времени (max-age). При включении HSTS важно сначала протестировать заголовок с небольшим временем жизни, чтобы избежать риска заблокировать сайт для пользователей при ошибочной конфигурации.
Перед добавлением includeSubDomains и подачей на preload нужно убедиться, что все поддомены корректно обслуживаются по HTTPS. Подача на preload требует строго определённых условий: сайт должен быть доступен по HTTPS, HSTS должен иметь max-age не менее одного года, иметь includeSubDomains и иметь директиву preload. Только после этого можно отправлять домен в список preload.
Добавляйте HSTS постепенно: сначала max-age на час или день, мониторьте логи и работу, затем увеличивайте значение до рекомендованных 31536000 секунд (1 год) и, при полной уверенности, включайте includeSubDomains и отправляйте на preload. Если сайт использует сторонние поддомены или сервисы без HTTPS, сначала устраните их.
Перенаправления, кеши и проверки на mixed content
Организуйте единый canonical: настройте 301-редирект с http:// на https:// для всех URL, корректно обрабатывайте версии с/без www в соответствии с выбранной предпочтительной версией. 301-редиректы сохраняют SEO-ценность страниц при переходе на HTTPS, но важно сделать их атомарными и избежать цепочек редиректов.
Проверьте mixed content — ресурсы, загружаемые по HTTP на странице, вызовут блокировку или предупреждения в браузерах. Проанализируйте страницы с помощью инструментов разработчика, специальных сканеров и обновите ссылки на скрипты, стили, изображения и iframe на https или относительные протоколы. Особое внимание — внешним виджетам и аналитике.
После смены протокола обновите sitemap.xml, robots.txt (если они содержат абсолютные URL) и инструменты для вебмастеров (Google Search Console, Яндекс.Вебмастер) — добавьте verifcation для https-версии. Также проверьте интеграции сторонних сервисов (оплаты, API), которые могли быть настроены на HTTP.
Контрольные точки — что обязательно проверить перед запуском
Перед окончательным переводом на HTTPS пройдите чек-лист: сертификат корректен и не истекает; цепочка сертификатов полная; все поддомены покрыты; редиректы 301 настроены и не образуют цепочек; HTTP/2 работает; HSTS добавлен и протестирован с коротким сроком. Каждая из этих позиций критична для стабильности и безопасности.
Проверьте заголовки безопасности: Strict-Transport-Security, Content-Security-Policy (по возможности), X-Content-Type-Options, Referrer-Policy и SameSite для куки. Убедитесь, что куки имеют атрибуты Secure и HttpOnly там, где это уместно, чтобы исключить утечки через незашифрованные соединения.
Промежуточное тестирование в разных браузерах, с мобильных устройств и с отключенными кэшами поможет отловить проблемы, которые не видны в одном окружении. Проверьте выдачу сертификата в SSL Labs, выполните curl-запросы и проверьте логи веб-сервера на ошибки доступа и переадресации.
- Проверка цепочки сертификатов и даты истечения
- Тест редиректов: http → https, один 301
- Отсутствие mixed content на ключевых страницах
- Наличие HSTS с коротким max-age перед увеличением
- Проверка HTTP/2 в ответе сервера
Тестирование, запуск и мониторинг после перехода
Последовательность запуска: сначала выполните изменения в тестовом или staging-окружении, прогоните автоматические и ручные тесты. На боевом сервере применяйте изменения вне пиков, подготовьте план отката (быстрый возврат конфигураций и перенаправление DNS при необходимости). Коммуницируйте с командой поддержки и приоритетными пользователями на время переключения.
Используйте набор инструментов для тестирования: SSL Labs для оценки конфигурации сертификатов и шифров, curl для проверки заголовков и протокола, браузерные инструменты для поиска mixed content, валидаторы HSTS для проверки заголовка и тестовые запросы к API и формам. Не забывайте про мониторинг доступности (uptime) и логирование ошибок.
После запуска продолжайте наблюдение несколько дней: отслеживайте ошибки в логах (4xx/5xx), уведомления от пользователей о загрузке страниц и интеграции. Регулярно обновляйте сертификаты или настраивайте автоматическое продление, планируйте ревью политики шифров и TLS по мере появления новых рекомендаций.
Краткое сравнение типов сертификатов
| Тип сертификата | Когда подходит | Особенности |
|---|---|---|
| DV (Domain Validation) | Блоги, информационные сайты и большинство коммерческих проектов | Быстрая выдача, проверяется владение доменом |
| OV (Organization Validation) | Сайты компаний, где важно подтверждение организации | Проверяется юридическая информация организации |
| EV (Extended Validation) | Финансовые сервисы и проекты с высокой ответственностью | Строгая проверка, в некоторых браузерах показывается организация |
| Wildcard / SAN | Множество поддоменов или несколько доменов | Покрывает *.domain или список SAN, удобны и экономичны |
Частые вопросы
Нужен ли коммерческий сертификат, если сайт простой и без форм?
Для простых сайтов и блогов чаще всего достаточно бесплатных сертификатов (например, Let's Encrypt). Они обеспечивают шифрование и доверие браузеров. Коммерческие сертификаты (OV/EV) имеют смысл, когда требуется проверка компании или вы хотите получить визуальное подтверждение в интерфейсе некоторых сервисов. Решение зависит от уровня доверия, который вы хотите транслировать, и от требований интеграций с платёжными или корпоративными сервисами.
Можно ли включить HSTS сразу с большим max-age?
Не рекомендуется. HSTS с большим max-age делает обязательным обращение браузеров по HTTPS в течение длительного времени, и откат при ошибке станет проблематичным. Начните с короткого времени (несколько минут или часов), проверьте отсутствие проблем с поддоменами и сторонними ресурсами, затем постепенно увеличивайте значение до года и выше. Подачу на preload выполняйте только когда все требования соблюдены.
Что делать, если после перехода часть страниц выдаёт mixed content?
Проанализируйте страницы с помощью инструментов разработчика браузера — они укажут, какие ресурсы загружаются по HTTP. Обновите ссылки на HTTPS или используйте протокол-относительные URL, если сторонний ресурс поддерживает HTTPS. Для внешних виджетов, которые не поддерживают HTTPS, рассмотрите замену или загрузку необходимых ресурсов локально. После исправлений очистите кеши CDN и браузеров и повторно протестируйте.
Как проверить, что HTTP/2 действительно включён и работает?
Самый простой метод — выполнить curl --http2 -I https://ваш-сайт и посмотреть заголовки ответа и протокол. В браузере откройте инструменты разработчика → Network и добавьте колонку 'Protocol' или 'Version' — там будет указано 'h2' для HTTP/2. Также можно использовать специализированные онлайн-инструменты и проверить, не влияет ли промежуточное оборудование (CDN/балансировщик) на наличие HTTP/2.
Какие дополнительные заголовки безопасности стоит настроить вместе с HSTS?
Помимо HSTS полезно настроить Content-Security-Policy (CSP) для ограничения источников контента, X-Content-Type-Options: nosniff для предотвращения MIME-type атак, Referrer-Policy для контроля реферера и атрибуты куки Secure и HttpOnly. CSP требует аккуратной настройки и поэтапного внедрения (в режиме report-only на начальном этапе), чтобы не нарушить работу легитимных скриптов и ресурсов.
Хотите проверить настройки сайта?
Разработка-сайтов.online проводит аудит конфигурации HTTPS/HTTP2/HSTS и даёт рекомендации по исправлению ошибок. Закажите аудит — мы проверим цепочку сертификатов, заголовки безопасности, редиректы и порекомендуем корректные конфигурации.
Заказать аудит конфигурацииПортфолио
Разработка сайта • Обслуживание сайта • SEO
Закажите сайт, который действительно приносит клиентов
Создаем современные сайты, интернет-магазины и веб-сервисы с адаптивным дизайном, высокой скоростью загрузки и SEO-оптимизацией. Работаем под ключ — от идеи до запуска.
- ✓ Индивидуальный дизайн
- ✓ SEO с первого дня
- ✓ Адаптация под мобильные устройства
- ✓ Поддержка после запуска