HSTS: як браузер примусово використовує HTTPS
HSTS дає HTTPS-сайту змогу повідомити браузеру, що до цього імені слід звертатися лише через HTTPS протягом max-age. Директива includeSubDomains поширює політику на піддомени. Preload — окремий механізм екосистеми браузерів, який потребує обережного планування.
Що HSTS змінює в браузері
HSTS повідомляє браузеру, що сайт потрібно відкривати лише через HTTPS протягом указаного max-age. Після отримання політики браузер автоматично переводить наступні HTTP-запити на HTTPS до надсилання звичайного незашифрованого запиту.
Як перевірити HSTS
Перевірте заголовок Strict-Transport-Security у HTTPS-відповіді та його max-age. Якщо використовується includeSubDomains, переконайтеся, що всі потрібні піддомени справді працюють через HTTPS. Preload — окреме рішення, яке не варто вмикати без готовності всього доменного дерева. Якщо політика вже збережена браузером, видалення заголовка із сервера не скасовує її миттєво. Для практичної перевірки використайте перевірку сервера 2ip. Зовнішню HTTP-відповідь сайту можна звірити через перевірку сайту 2ip.
Обережно з includeSubDomains і preload
Технічні джерела: RFC 6797.