Если я использую HSTS на nginx, принудительно ли сайт перенаправляет на HTTP?
Мне нужно получить доступ к некоторым изображениям и файлам JS через HTTP, но если я включу HSTS с add_header Strict-Transport-Security "max-age=31536000";
Все файлы обслуживаются принудительно через HTTPS.
Так что я использовал add_header Strict-Transport-Security "max-age=0;"
,
Есть ли способ доступа к файлам через HTTP с включенным HSTS?
1 ответ
HSTS - это не перенаправление: сначала нужно перенаправить HTTP на HTTPS, а затем заголовок HSTS сообщает браузеру, чтобы он никогда не возвращался к HTTP. Так что это его цель. Если у вас есть HSTS, вы не предоставляете ничего по HTTP.
Вы упомянули, что это нужно для некоторых изображений и сценариев JavaScripts. Однако, если ваш сайт работает по протоколу HTTPS, браузеры не должны доверять внешним ресурсам через HTTP. Особенно было бы опасно загружать JavaScript по HTTP на защищенный TLS-сайт: сценарий можно было бы модифицировать для предоставления данных внутри защищенного соединения.
Если вам нужно предоставить статический контент за пределы сайта, вы можете использовать поддомен. Как вы не установили includeSubDomains
в заголовке HSTS он не применяется к поддоменам. Вы все еще можете иметь static.example.com/path/to/image.jpg
обслуживается по HTTP.