Я использую базовую аутентификацию, когда пользователь отправляет свое имя пользователя и пароль в заголовке. Эти запросы будут выполняться по HTTPS в целях безопасности (в противном случае пароль был бы в виде обычного текста). Если пользователь случайно делает запрос через HTTP, есть ли в nginx способ закрыть соединение, прежде чем они отправят свой заголовок авторизации? Меня беспокоит, что если я просто перенаправлю их на HTTPS, их пароль все равно будет отправлен в виде обычного текста для первого запроса.
Это то, что Строгая транспортная безопасность для.
Добавьте это в соответствующий server
блоки:
add_header Strict-Transport-Security max-age=315360000;
Это даст указание браузерам, посетившим ваш сайт хотя бы один раз, никогда не пытаться посетить его снова (в течение количества секунд, указанных max-age
) без использования HTTPS.
Время, указанное вами в max-age
должен быть не меньше продолжительности любых файлов cookie, которые вы предоставляете пользователю.
Обратите внимание, что вы должны использовать этот заголовок только в ответах HTTPS, и что для завершения цикла вы должны перенаправлять любые HTTP-запросы на эквивалентный HTTPS-URL.