Принудительное использование SSL с помощью требования ssl в приложении Rails 2
У меня есть приложение Rails, которое должно работать под SSL. Я попробовал ssl_requirement, но, кажется, я должен ввести все действия в каждом контроллере.
Есть ли какой-либо метод, который я могу добавить before_filter в Application controller с ssl_requirement, чтобы приложения автоматически перенаправлялись на https, когда запрос пользователя находится в http?
Спасибо всем. :)
3 ответа:
Используйтепромежуточное ПО стойки .
# 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"