Использовать SSL с помощью ssl_requirement в приложении Rails 2

У меня есть приложение Rails, которое нужно запускать под SSL. Я попробовал ssl_requirement, но мне кажется, что я должен вводить все действия в каждом controllerе.

Есть ли какой-нибудь метод, который я могу добавить перед_фильтром в controller приложения с помощью ssl_requirement, чтобы приложения автоматически перенаправлялись на https, когда пользовательский запрос находится в http?

Спасибо всем. 🙂

Используйте промежуточное ПО Rack .

# lib/force_ssl.rb class ForceSSL def initialize(app) @app = app end def call(env) if env['HTTPS'] == 'on' || env['HTTP_X_FORWARDED_PROTO'] == 'https' @app.call(env) else req = Rack::Request.new(env) [301, { "Location" => req.url.gsub(/^http:/, "https:") }, []] end end end # config/environment.rb config.middleware.use "ForceSSL" 

Вы можете попробовать выполнить тест, если запрос находится в ssl или нет в файле before_filter в вашем приложении

 class Application < AC::Base before_filter :need_ssl def need_ssl redirect_to "https://#{request.host}/#{request.query_string}" unless request.ssl? end end 

Основная проблема заключается в том, что force_ssl.rb не загружается и что lib не загружается по умолчанию в rails 3.1. Вы должны добавить

 config.autoload_paths += %W(#{config.root}/lib) config.autoload_paths += Dir["#{config.root}/lib/**/"] 

к application.rb

  • Зашифрованы ли URL HTTPS?
  • Firefox: это соединение не доверено + За корпоративным брандмауэром
  • Как найти версию SSL / TLS в Java
  • Как мне сделать TLS с BouncyCastle?
  • Подключение к WebSphere MQ в Java с помощью SSL / Keystore
  • Проверка подлинности клиента HTTPS на Java
  • Сколько информации может видеть мой интернет-провайдер?
  • Java7 Отказ от доверия сертификату в хранилище доверия
  • SSL и непонимание вручную
  • Добавить постоянное исключение SSL-сертификата в Chrome (Linux)
  • Решение javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed Ошибка?
  • Interesting Posts

    Может ли x86 переупорядочить узкий магазин с более широкой нагрузкой, которая полностью его содержит?

    чтение значения пикселя в файле bmp

    Tskill в версиях Windows 7

    Центрировать колонку с помощью Twitter Bootstrap

    Как загрузить Xcode DMG или XIP-файл?

    Почему программисты C ++ минимизируют использование «новых»?

    Почему Firefox не распознает быстрые клавиши приложения, созданные в Mac OS X System Preferences?

    Разница между Моджаррой и MyFaces

    Как я могу синхронизировать Android с Zune?

    Как я могу сортировать ListBox, используя только XAML и без кода?

    Excel. Предотвращение переполнения текста ячейки в следующую (пустую) ячейку.

    Каков самый быстрый способ определить, является ли число четным или нечетным?

    ошибка установки npm – MSB3428: Не удалось загрузить компонент Visual C ++ «VCBuild.exe»

    Селектор CSS, который применяется к элементам с двумя classами

    System.UnauthorizedAccessException при запуске .exe под программными файлами

    Давайте будем гением компьютера.