Перейти к содержимому
Skip to content
← Все статьи

HSTS — что это такое и зачем нужен вашему сайту

HSTS (HTTP Strict Transport Security) — это механизм безопасности, который сообщает браузеру: «Этот сайт должен загружаться только по SSL/TLS проверку. Никогда не используй HTTP». После получения заголовка HSTS браузер автоматически перенаправляет все HTTP-запросы на HTTPS, даже если пользователь вручную ввёл адрес без https://.

Зачем нужен HSTS

Вы настроили SSL-сертификат, добавили редирект с HTTP на HTTPS — казалось бы, достаточно. Но без HSTS остаётся уязвимость: первый запрос пользователя может уйти по HTTP, и злоумышленник может его перехватить.

Основные угрозы без HSTS:

Как работает HSTS

Механизм прост, но эффективен:

  1. Пользователь впервые заходит на сайт по HTTPS
  2. Сервер отправляет заголовок: Strict-Transport-Security: max-age=31536000; includeSubDomains
  3. Браузер запоминает, что этот домен должен использовать только HTTPS
  4. В течение указанного времени (max-age) все HTTP-запросы автоматически преобразуются в HTTPS на стороне браузера — без обращения к серверу

Это называется «внутренний редирект 307» — браузер делает его самостоятельно, без сетевого запроса.

Синтаксис заголовка HSTS

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

Разберём каждую директиву:

ДирективаОписаниеРекомендация
max-ageВремя действия в секундах31536000 (1 год) для production
includeSubDomainsРаспространить на все поддоменыВключать, если все поддомены поддерживают HTTPS
preloadЗапрос на включение в preload-список браузеровВключать после тестирования

Настройка HSTS на популярных серверах

Nginx

server {
    listen 443 ssl;
    server_name example.com;

    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
}

Важно: добавляйте заголовок только для HTTPS-блока (443), не для HTTP (80).

Apache

<VirtualHost *:443>
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
</VirtualHost>

PHP (программно)

header('Strict-Transport-Security: max-age=31536000; includeSubDomains; preload');

Preload-список HSTS

Preload-список — это список доменов, встроенный в браузеры Chrome, Firefox, Safari и Edge. Для доменов из этого списка HTTPS используется с самого первого посещения — даже если пользователь никогда не был на сайте.

Требования для включения в preload-список:

Подать заявку можно на hstspreload.org.

Типичные ошибки при настройке HSTS

Рекомендуемый план внедрения

  1. Убедитесь, что весь сайт работает по HTTPS, включая все ресурсы
  2. Настройте редирект HTTP → HTTPS
  3. Добавьте HSTS с max-age=300 (5 минут) для тестирования
  4. Проверьте заголовок с помощью инструмента проверки HTTP-заголовков enterno.io
  5. Увеличьте max-age до 604800 (1 неделя), затем до 2592000 (1 месяц)
  6. Добавьте includeSubDomains, убедившись, что все поддомены готовы
  7. Добавьте preload и подайте заявку на hstspreload.org
  8. Установите финальное значение max-age=31536000 (1 год)

Как проверить HSTS на сайте

Самый быстрый способ — использовать проверку HTTP-заголовков на enterno.io. Введите URL вашего сайта и найдите в ответе заголовок Strict-Transport-Security. Инструмент покажет значение max-age, наличие директив includeSubDomains и preload.

Также можно проверить в Chrome DevTools: откройте вкладку Network, выберите основной документ и посмотрите Response Headers.

Итоги

HSTS — это простой, но мощный инструмент защиты. Он не требует сложной настройки, но значительно повышает безопасность за счёт принудительного использования HTTPS. Если ваш сайт уже работает по HTTPS, нет причин не включить HSTS — это бесплатная и эффективная мера защиты от целого класса атак.

Проверьте ваш сайт прямо сейчас

Проверить →
Другие статьи: Безопасность
Безопасность
CORS: руководство по Cross-Origin Resource Sharing
16.03.2026 · 11 просм.
Безопасность
Безопасность cookies: HttpOnly, Secure, SameSite
14.03.2026 · 11 просм.
Безопасность
Стратегии ограничения частоты запросов для веб-API
16.03.2026 · 12 просм.
Безопасность
Заголовки безопасности: полный гайд
14.03.2026 · 16 просм.