ruby-on-rails – 强制使用Rails 3.1中特定路由的SSL

我需要在我的应用程序中的所有路由上强制SSL,除了着陆#index.

在config / application.rb中,我有

config.force_ssl = true

然后在landing_controller.rb中,我有

force_ssl :except => :index

但是,所有路线仍然被重定向到https.

有没有人知道如何有条件地强制在Rails 3.1应用程序中的SSL?

解:

将以下内容添加到您的Gemfile中:

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的问题.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...