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

HSTS = HTTP Strict Transport Security

Из Django Docs на HSTS

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

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

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

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

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

1 Ответ

2 голосов
/ 02 мая 2019

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

...