Что такое HSTS?

HSTS (HTTP Strict Transport Security) — заголовок ответа, который предписывает браузерам заданное время использовать для сайта только HTTPS, чтобы последующие визиты нельзя было понизить до нешифрованного HTTP.

Сайт отправляет заголовок Strict-Transport-Security по HTTPS со значением max-age в секундах. С этого момента в течение указанного времени браузер переписывает любую ссылку http:// на этот сайт в https://, прежде чем что-либо отправить, и не позволяет пользователю пропускать ошибки сертификата. includeSubDomains распространяет правило на все поддомены.

Первый визит всё ещё не защищён, потому что браузер ещё не видел заголовка. Этот пробел закрывает preload-список: домены, которые отправляют заголовок с большим max-age, includeSubDomains и токеном preload, можно подать в список, встроенный в браузеры. В этом списке есть и целые TLD, например .app и .dev.

HSTS легко включить и долго отключать. Как только браузеры закэшировали большой max-age или домен попал в preload, каждый поддомен обязан работать по HTTPS с действительным сертификатом, включая внутренние и устаревшие хосты. Начните с малого max-age, проверьте все поддомены и затем увеличьте его. Заголовок игнорируется, если отправлен по обычному HTTP.

Пример

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

Проверьте сами

HSTS: посмотрите на примере реального домена.

Доступность сайта