Объясните пожалуйста, как правильно выставлять SECURE_HSTS_SECONDS на продакшене?
Ноги начали расти с того момента, когда я запустил чеклист
python manage.py check --deploy
и выхватил кучку ишек, полез смотреть как делает народ и фиксить.
На конкретно этот параметр было
WARNINGS:
?: (security.W004) You have not set a value for the SECURE_HSTS_SECONDS setting. If your entire site is served only over SSL, you may want to consider setting a
value and enabling HTTP Strict Transport Security. Be sure to read the documentation first; enabling HSTS carelessly can cause serious, irreversible problems.
и народ делает вот так
# Set this to 30 seconds and then to 31536000 when you can prove it works
SECURE_HSTS_SECONDS = 30
В доках значится
При включении HSTS для начала лучше протестировать с небольшим значение, например, SECURE_HSTS_SECONDS = 3600. Каждый раз, когда браузер видит заголовок HSTS в ответе вашего сайта, он отказывается подключаться по небезопасному подключению (используя HTTP) к вашему домену в течении указанного времени. После проверки, что все статические файлы работают через HTTPS (то есть HSTS ничего не ломает), можно увеличить это значение, чтобы нечастые пользователи были защищены (обычно используют 31536000 секунд, то есть 1 год).
Напугало вот это:
Неправильная установка этих настроек может необратимо (при определенном значении SECURE_HSTS_SECONDS) сломать ваш сайт. Для начала ознакомьтесь с HTTP Strict Transport Security.
На боевом сервере стоит uwsgi + nginx (as proxy + используется ssl redirect)
Как сделать кошерно? Или забить болт?