Перейти к содержимому
Документация· Обновлено 15 окт. 2026 г.

Нет HSTS (Strict-Transport-Security) — как включить без риска

Зачем нужен HSTS, как включать поэтапно и чем опасен preload.

Что не так

Без заголовка Strict-Transport-Security первый запрос пользователя может уйти по HTTP — его можно перехватить и подменить (SSL stripping). HSTS говорит браузеру: «этот сайт — только по HTTPS» на заданный срок.

Как включить

Сначала убедитесь, что все нужные хосты и поддомены работают по HTTPS. Затем поэтапно:

# 1. неделя — короткий срок
add_header Strict-Transport-Security "max-age=86400" always;
# 2. всё стабильно — год
add_header Strict-Transport-Security "max-age=31536000" always;
# 3. все поддомены на HTTPS — можно includeSubDomains
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
  • Заголовок отдавайте только в HTTPS-блоке server.
  • always — чтобы он был и на ответах 4xx/5xx.
  • В nginx add_header во вложенном location отменяет заголовки уровня server — повторите там.

Осторожно с preload

preload и отправка в hstspreload.org вшивают домен в браузеры; откат занимает месяцы. Только когда уверены во всех поддоменах.

Проверка — HTTP Inspector, блок заголовков безопасности.