&引用;config.force_ssl=true";不强制使用HTTPS

&引用;config.force_ssl=true";不强制使用HTTPS,ssl,https,ruby-on-rails-3.1,Ssl,Https,Ruby On Rails 3.1,我运行的是Rails 3.1,并尝试将上述内容放在development.rb和application.rb中(不是同时放在这两个版本中),但它似乎什么都没做。我的请求仍在HTTP上运行。这不是意味着强制所有请求使用HTTPS吗?我肯定我错过了一些非常明显的东西,但我一辈子都想不出是什么——做一个新手也没用 任何帮助都将不胜感激 干杯, Dany.它在本地无法工作,您部署了吗?如果您的本地服务器(webrick?)配置为使用SSL,它将工作,下面是通过脚本/rails实现这一点的一种方法: #!

我运行的是Rails 3.1,并尝试将上述内容放在development.rb和application.rb中(不是同时放在这两个版本中),但它似乎什么都没做。我的请求仍在HTTP上运行。这不是意味着强制所有请求使用HTTPS吗?我肯定我错过了一些非常明显的东西,但我一辈子都想不出是什么——做一个新手也没用

任何帮助都将不胜感激

干杯,
Dany.

它在本地无法工作,您部署了吗?

如果您的本地服务器(webrick?)配置为使用SSL,它将工作,下面是通过
脚本/rails
实现这一点的一种方法:

#!/usr/bin/env ruby.exe
# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.

# require 'rubygems'
require 'rails/commands/server'
require 'rack'
require 'webrick'
require 'webrick/https'

module Rails
    class Server < ::Rack::Server
        def default_options
            super.merge({
                :Port => 3000,
                :SSLEnable => false, # set to true to automatically generate SSL cert
                :SSLVerifyClient => OpenSSL::SSL::VERIFY_NONE,
                #:SSLCertificate => OpenSSL::X509::Certificate.new(File.open("ssl.crt").read),
                :SSLCertName => [["CN", WEBrick::Utils::getservername]]
            })
        end
    end
end

APP_PATH = File.expand_path('../../config/application',  __FILE__)
require File.expand_path('../../config/boot',  __FILE__)
require 'rails/commands'
#/usr/bin/env ruby.exe
#当您运行“rails”并从应用程序根目录安装rails 3 gem时,将自动运行此命令。
#需要“rubygems”
需要“rails/commands/server”
需要“机架”
需要“webrick”
需要“webrick/https”
模块导轨
类服务器<::机架::服务器
def default_选项
超级合并({
:端口=>3000,
:SSLEnable=>false,#设置为true可自动生成SSL证书
:SSLVerifyClient=>OpenSSL::SSL::VERIFY\u NONE,
#:SSLCertificate=>OpenSSL::X509::Certificate.new(File.open(“ssl.crt”).read),
:SSLCertName=>[[“CN”,WEBrick::Utils::getservername]]
})
结束
结束
结束
APP_PATH=File.expand_PATH('../../config/application',文件
需要文件。展开\u路径('../../config/boot',\u文件\u)
需要“rails/commands”

当它不工作时,我应该期待什么?是的,如果你在本地运行你的服务器(localhost:3000),它不会工作,试着部署到heroku或其他什么地方,无论如何,如果你使用heroku,你需要一个插件(免费和付费),这让我的服务器强制重定向到HTTPS,但看起来需要一些额外的SSL证书配置。可能是