Заголовки HSTS для проектов Django + Nginx - должны ли заголовки устанавливаться Django SecurityMiddleware или Nginx?

HSTS = Строгая безопасность транспорта HTTP

Из Django Docs в HSTS

Для сайтов, доступ к которым должен осуществляться только через HTTPS, вы можете указать современным браузерам отказаться от подключения к вашему доменному имени через небезопасное соединение (в течение определенного периода времени), установив заголовок «Strict-Transport-Security». Это снижает вашу подверженность некоторым атакам типа "злоумышленник посередине" с удалением SSL (MITM).

SecurityMiddleware установит этот заголовок для всех ответов HTTPS, если вы установите для параметра SECURE_HSTS_SECONDS ненулевое целочисленное значение.

Однако этот заголовок также может быть установлен Nginx в файле conf, добавив строку:

add_header Strict-Transport-Security "max-age=63072000; includeSubdomains;";

Итак, вопрос в том, должны ли мы настроить Nginx для установки этого заголовка или Django SecurityMiddleware, добавив настройки HSTS в файл настроек проекта?


person GunnerFan    schedule 02.05.2019    source источник


Ответы (1)


Все зависит от вас. Если вы запускаете несколько сайтов, может быть проще установить глобальное значение в настройках вашего веб-сервера. Однако, если вы установите его в Django, будет проще перенести ваше приложение на новый веб-сервер.

person thebjorn    schedule 02.05.2019