HSTS просить попереднього завантаження, але не виконує перевіреної вимоги
У звітіHSTS preload declared but preload requirements unmet
hsts_preload_preconditions_unmet · Потребує перегляду
Це з’являється, коли ваш заголовок Strict-Transport-Security просить попереднього завантаження, а одну з вимог, які ми перевіряємо, не виконано: max-age в рік, includeSubDomains і перше переспрямування з http:// на HTTPS на тому самому хості, з відповіддю, що містить заголовок. Список попереднього завантаження приймає лише сайти, які виконують усі його вимоги. Виконайте їх або приберіть preload, якщо не збираєтеся до нього приєднуватися.
Серйозність: Низька. Перегляньте неузгоджену декларацію preload. Невдале переспрямування з HTTP на HTTPS однаково може залишити доступ через звичайний HTTP, а сайт списку попереднього завантаження загалом не рекомендує приєднуватися до списку.
Чому це важливо
Сайт списку попереднього завантаження HSTS встановлює вимоги до подання, зокрема max-age щонайменше 31536000 секунд і директиви includeSubDomains та preload. Він застерігає, що включення нелегко скасувати, і каже, що хоча HSTS рекомендований, попереднє завантаження — ні.
Що зробити
- Перегляньте знахідку: у ній показано, яка з чотирьох перевірок не пройшла і як переспрямувала адреса з
http://для хоста. - Якщо ви збираєтеся в список попереднього завантаження, виправте те, що не пройшло: підвищте
max-age, додайтеincludeSubDomainsабо зробіть так, щобhttp://переспрямовував спершу на HTTPS на тому самому хості, із заголовком у цій відповіді HTTPS. - Якщо не збираєтеся, приберіть
preloadіз заголовка.
Коли залишити як є: якщо ви додали preload свідомо й ще працюєте над вимогами, можна залишити як є, доки їх не виконано.
Що ми читаємо
Ми читаємо перший заголовок Strict-Transport-Security в кінцевій відповіді кожної просканованої сторінки HTTPS, із власним user agent, і переспрямування, які ми пройшли з http:// для вашого домену та його адреси з www..
Адреса фіксується, коли заголовок сторінки містить preload і одна з чотирьох перевірок не проходить: max-age щонайменше 31536000, наявний includeSubDomains, перша відповідь на http:// для хоста є переспрямуванням на HTTPS на тому самому хості, і ця відповідь HTTPS надсилає заголовок, хоч би з яким значенням. Для хоста, відмінного від вашого домену чи його адреси з www., переспрямування не читається, тож останні дві перевірки зробити неможливо.
Приклад і докази
Ілюстративний приклад — один заголовок, а не реальний аудит.
https://bakery.example/ надсилає:
Strict-Transport-Security: max-age=31536000; preloadЗаголовок просить попереднього завантаження, але не має includeSubDomains, тому адреса фіксується з цією перевіркою як непройденою.
Strict-Transport-Security: max-age=31536000; includeSubDomains; preloadМожливе виправлення, щойно кожен субдомен працює через HTTPS: додайте includeSubDomains. Якщо ви не хочете приєднуватися до списку, натомість приберіть preload.
Підтвердити й перевірити знову
Перевірте самі: введіть свій домен на hstspreload.org: він перелічує кожну вимогу, яку вважає невиконаною, зокрема ті, яких ця перевірка не читає.
Повторна перевірка: Повний аудит — запустіть новий повний аудит. Повне охоплення перевірки без жодної непройденої чи невідомої перевіреної умови попереднього завантаження може зняти попередню знахідку. Видалення preload може зробити це правило незастосовним і закрити попередню знахідку, але не доводить, що сайт виконує вимоги попереднього завантаження.
Обмеження та джерела
Перевіряються лише чотири вимоги. Сертифікат, HTTPS на кожному субдомені, те, чи є хост вашим базовим доменом і чи є сайт у списку, не перевіряються, тож чистий результат не є вердиктом щодо відповідності вимогам.
Упевненість: Висока, бо заголовок і переспрямування зчитуються безпосередньо.
Джерела
- hstspreload.org, Подання до списку попереднього завантаження HSTS — перелічує вимоги до подання, зокрема max-age щонайменше 31536000 секунд і директиви includeSubDomains та preload, і каже, що хоча HSTS рекомендований, попереднє завантаження — ні. Перевірено 28 вересня 2026.
Редакційна перевірка: 29 вересня 2026