ruby-on-rails - Rails 3.1 强制常规 HTTP

标签 ruby-on-rails ssl rack

以前,我一直在使用 ssl_requirement让我们细粒度地控制哪些页面是通过 ssl 提供的,哪些是通过纯 http 提供的。

根据 ssl_requirement 自己的 wiki,它已被 rails 3.1 的 Force SSL取代 .然而,情况似乎并非如此。 Force SSL 似乎没有公开相反方向的选项,没有办法强制通过常规 http 发送页面。

Rails 3.1 强制页面以纯 http 格式显示的正确方法是什么? Force SSL 真的会取代 ssl_requirement 吗?

最佳答案

Justice 说的。有些人强烈希望使用 SSL 浏览所有内容。窥探非 SSL session 现在变得微不足道,因此您应该竭尽全力为想要使用它的人提供便利。

但是。

使用 before_filter 应该很容易完成:

class ApplicationController < ActionController::Base
  before_filter do
    if request.ssl? && Rails.env.production?
      redirect_to :protocol => 'http://', :status => :moved_permanently
    end
  end
end

关于ruby-on-rails - Rails 3.1 强制常规 HTTP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7478911/

相关文章:

php - 不破解 CurlException : 60 (cURL SSL Certificate Verification)

ruby-on-rails - 将 2 个 Rails 应用程序组合到一个代码库

logging - Sinatra 在日志文件中不显示异常

mysql - Rails 迁移——暂时忽略外键约束?

ruby-on-rails - 诊断 View 渲染缓慢的原因

应用程序中的 SSL 链接策略

reactjs - 为什么我不能将 Heroku 上的 React 应用程序从 http 重定向到 https?

ruby - 如何通过 Ruby 和 ERB(不是 Rails)使用 View 和布局?

ruby-on-rails - 使用主键作为事件记录读取的索引,Rails

ruby-on-rails - 在运行时更改乘客应用程序池的大小