我需要在我的应用程序中的所有路由上强制SSL,除了着陆#index.
在config / application.rb中,我有:
config.force_ssl = true
然后在landing_controller.rb中,我有:
force_ssl :except => :index
但是,所有路线仍然被重定向到https.
有没有人知道如何有条件地强制在Rails 3.1应用程序中的SSL?
解:
gem 'rack-ssl-enforcer'
将以下内容添加到您的config / application.rb中:
config.middleware.use Rack::SslEnforcer,:except => [ /\/$/ ],:strict => true
解决方法
我在stackoverflow
here上提出了一个类似的问题,并被告知要使用
https://github.com/tobmatth/rack-ssl-enforcer.我还没有尝试过,但是基于自述,它似乎解决了在某些路由上有条件地执行ssl的问题.