Если я использую 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.

Другие вопросы по тегам