4

看看 ssl_requirement 插件。

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

4

5 回答 5

6

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

class YourController < ApplicationController
  ssl_required :update unless Rails.env.development?
end
于 2008-09-19T01:37:56.547 回答
4
  def ssl_required?
    return false if local_request? || RAILS_ENV == 'test' || RAILS_ENV == 'development'
    super
  end
于 2010-03-20T09:55:52.263 回答
0

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

于 2009-12-14T17:25:38.243 回答
0

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

您可以将插件ssl_required 存根吗?使用 Rails 内置的模拟工具的方法。

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

require 'controllers/application_controller'

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

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

于 2010-01-28T07:43:16.560 回答
0

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

重写 ^(.*) https://$host$1 永久;

于 2011-07-16T06:21:12.993 回答