ruby-on-rails - 在开发中,如何使用自签名证书重定向到 https?

标签 ruby-on-rails ruby-on-rails-3 ssl https

如何将 www.example.com 重定向到 https://www.example.com

我在开发中这样做,我使用的是自签名证书。我在我的 application.rb 中添加了 config.force_ssl = true 并在我的应用程序 Controller 中使用此方法添加了一个 before_filter 回调:

def redirect_secure
    redirect_to protocol: "https" if request.protocol == "http" 
end

最佳答案

对于用于开发的服务器 ssl 证书配置,将以下代码添加到脚本/rails 文件中,

module Rails
    class Server < ::Rack::Server
        def default_options
            super.merge({
                :Port => 3445,
                :environment => (ENV['RAILS_ENV'] || "development").dup,
                :daemonize => false,
                :debugger => false,
                :pid => File.expand_path("tmp/pids/server.pid"),
                :config => File.expand_path("config.ru"),
                :SSLEnable => true,
                :SSLVerifyClient => OpenSSL::SSL::VERIFY_NONE,
                :SSLPrivateKey => OpenSSL::PKey::RSA.new(
                       File.open("/home/mohanraj/myCA/server_key.pem").read),
                :SSLCertificate => OpenSSL::X509::Certificate.new(
                       File.open("/home/mohanraj/myCA/server_crt.pem").read),
                :SSLCertName => [["CN", WEBrick::Utils::getservername]]
            })
        end
    end
end

注意:请为 ssl 文件提供正确的路径。

请点击此链接进行重定向 http://www.railway.at/2013/02/12/using-ssl-in-your-local-rails-environment/

关于ruby-on-rails - 在开发中,如何使用自签名证书重定向到 https?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16334640/

相关文章:

ruby-on-rails - 未定义的局部变量或方法 capybara rspec

ruby-on-rails - Rails 验证 NOT 在正则表达式中

ruby-on-rails - rails 3 - 使用 SSL 保护应用程序

tomcat - Ubuntu 和 Tomcat 中的 SSL 错误

ruby-on-rails - 检查电子邮件域是否有效

ruby-on-rails - 切换到/从应用程序的移动版本后首次加载时使用了错误的布局

ruby-on-rails - 无法安装 Debugger gem - Rails - Mac OSX Mavericks

ruby-on-rails - 使用 respond_with 返回以 xml、json 等格式设置的多个变量和数组的最佳方法是什么

ruby - Resque worker 发出 "NoMethodError: undefined method ` 执行`"

.net - TFS On Premise Build Agent - 无法为 SSL/TLS 安全通道建立信任关系