Rails SSL要求插件 - 在重定向到https之前,不应检查您是否处于生产模式?

时间:2008-09-18 22:03:06

标签: ruby-on-rails ssl https

Take a look at the ssl_requirement plugin.

不应检查您是否处于生产模式?我们看到在开发模式下重定向到https,这似乎很奇怪。或者这是插件的正常行为?我认为它过去的表现不同。

5 个答案:

答案 0 :(得分:6)

我猜他们认为您应该在开发模式下使用HTTPS(可能带有自签名证书)。如果这不是理想的行为,那么在开发环境中没有什么可以阻止您处理特殊的套管SSL行为:

class YourController < ApplicationController
  ssl_required :update unless Rails.env.development?
end

答案 1 :(得分:4)

  def ssl_required?
    return false if local_request? || RAILS_ENV == 'test' || RAILS_ENV == 'development'
    super
  end

答案 2 :(得分:0)

理想情况下,您应该测试您的应用程序在敏感阶段重定向到https。

答案 3 :(得分:0)

在开发环境中要求SSL没有多大意义。

你可以使用Rails内置的模拟工具来截取插件 ssl_required?方法。

在您的应用程序根目录下创建一个文件test / mocks / development / application.rb

require 'controllers/application_controller'

class ApplicationController < ActionController::Base
  def ssl_required?
    false
  end
end

这种方式在开发环境中从不需要SSL。

答案 4 :(得分:0)

实际上,通过https重定向是网络服务器的责任。每个请求添加额外的请求哈希验证到Rails是一个开销恕我直言。我写了nginx config,其中包括以下重写:

重写^(。*)https:// $ host $ 1 permanent;