Spec-Zone.ru › Ruby on Rails 7.2

класс ActionDispatch::SSL

Родитель:
Object

Action Dispatch SSL

Этот промежуточный обработчик добавляется в стек, когда config.force_ssl = true, и получает опции, установленные в config.ssl_options. Он выполняет три задачи для принудительного обеспечения безопасных HTTP-запросов:

  1. Перенаправление TLS: Постоянно перенаправляет http:// запросы на https:// с тем же хостом URL, путем и т. д. Включено по умолчанию. Установите config.ssl_options для изменения целевого URL (например, redirect: { host: "secure.widgets.com", port: 8080 }), или установите redirect: false для отключения этой функции.

    Запросы могут отказаться от перенаправления с помощью exclude:

    config.ssl_options = { redirect: { exclude: -> request { /healthcheck/.match?(request.path) } } }
    

    Cookies не будут помечены как безопасные для исключённых запросов.

  2. Безопасные куки: Устанавливает флаг secure для куки, чтобы сообщить браузерам, что их нельзя отправлять вместе с http:// запросами. Включено по умолчанию. Установите config.ssl_options с secure_cookies: false для отключения этой функции.

  3. HTTP Strict Transport Security (HSTS): Сообщает браузеру запоминать этот сайт как работающий только по протоколу TLS и автоматически перенаправлять запросы без TLS. Включено по умолчанию. Настройте config.ssl_options с hsts: false для отключения.

    Настройте config.ssl_options с hsts: { ... } для настройки HSTS:

    • expires: Сколько секунд эти настройки будут действовать. Минимальное время, необходимое для попадания в предварительно загруженные списки браузеров, составляет 1 год. По умолчанию 2 года (рекомендуется).

    • subdomains: Установите в true , чтобы сообщить браузеру применять эти настройки ко всем дочерним доменам. Это защищает ваши куки от перехвата уязвимым сайтом на дочернем домене. По умолчанию true.

    • preload: Укажите, что этот сайт может быть включен в предварительно загруженные списки HSTS в браузерах. HSTS защищает ваш сайт на каждом посещении, кроме первого, так как браузер ещё не видел вашего заголовка HSTS. Чтобы решить эту проблему, поставщики браузеров включают встроенный список сайтов, поддерживающих HSTS. Перейдите на hstspreload.org, чтобы добавить свой сайт в список. По умолчанию false.

    Для отключения HSTS, пропуска заголовка недостаточно. Браузеры будут помнить исходную директиву HSTS до её истечения. Вместо этого используйте заголовок, чтобы сообщить браузерам об немедленном истечении HSTS. Установка hsts: false — это сокращение для hsts: { expires: 0 }.

© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API