Настройка SECURE_HSTS_SECONDS может необратимо разбить ваш сайт?

Я хочу внедрить SECURE_HSTS_SECONDS в мои настройки Django для дополнительной безопасности - однако предупреждение от Django docs заставляет меня немного бояться, поэтому я хочу получить некоторые разъяснения. Вот что говорит:

SECURE_HSTS_SECONDS

Default: 0

Если задано ненулевое целочисленное значение, SecurityMiddleware устанавливает заголовок HTTP Strict Transport Security для всех ответов, которые не уже есть.

Предупреждение: Установка этого значения может необратимо (на некоторое время) сломать ваш сайт. Сначала прочтите документацию по строгой транспортной безопасности HTTP.

Что должно произойти, чтобы "сломать мой сайт"? Сначала я прочитал HTTP Strict Transport Security documentation, и это не прояснилось.

Ответ 1

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

HTTP Strict Transport Security позволяет веб-сайту сообщать браузеру, что он никогда не должен загружать сайт с использованием HTTP и должен автоматически преобразовать все попытки доступа к сайту с помощью HTTP-запросов HTTPS вместо. Он состоит из одного HTTP-заголовка, Strict-Transport-Security, отправлено обратно сервером с ресурсом.

Другими словами, если вы установите значение SECURE_HSTS_SECONDS, например, 518400 (6 дней) ваш веб-сервер сообщит вашему клиентскому браузеру, когда он впервые посетит ваш сайт, чтобы в будущем получить доступ исключительно к вашему сайту через https. Это относится ко всему определенному периоду. Если по какой-либо причине вы больше не предоставляете доступ к своему веб-сайту через https, браузер больше не может получить доступ к вашим услугам.

Поэтому сначала вы должны установить для этой переменной низкое значение, например 60 с, и убедиться, что все работает так, как ожидалось, иначе вы можете помешать себе и вашему клиенту посещать ваш сайт.

П.С.: HSTS ничего не говорит о сертификате, который будет использоваться. Вы можете обновить его, и ваши клиенты все еще могут получить доступ к вашему сайту.