Я пытаюсь настроить HSTS на своем сервере. Я заметил, что тест на SSLLabs.com сообщит мне, что HSTS включен, если я отправлю заголовок HSTS через начальное незашифрованное HTTP-соединение. Это, однако, является нарушением спецификации HSTS в соответствии с RFC-6797, раздел 7.2, в котором четко указано, что вы НЕ должны отправлять этот заголовок по незашифрованному соединению.
С другой стороны, если мой сервер отправляет этот заголовок HSTS ТОЛЬКО после выполнения перенаправления 302 с HTTP на HTTPS, что именно то, что вам СЛЕДУЕТ в официальной спецификации HSTS, тогда SSL Labs НЕ подтверждает, что у меня включен HSTS.
Так что мне здесь не хватает? Как правильно это сделать?
Если вы хотите понять, о чем я говорю, рассматриваемый сайт - nightowlcircusarts.com.
Вы можете просмотреть незашифрованные заголовки, используя curl с помощью этой команды bash:
curl -I http://www.nightowlcircusarts.com/
Или измените этот http на https, чтобы увидеть зашифрованные заголовки:
curl -I https://www.nightowlcircusarts.com/
В настоящее время я настроил его ТОЛЬКО на отправку этого заголовка через TLS, а не без него, как указано в спецификации HSTS. Но вы увидите, что тест SSL Labs по-прежнему показывает, что у меня НЕ включен HSTS: https://www.ssllabs.com/ssltest/analyze.html?d=nightowlcircusarts.com