アプリケーションのすべてのページで SSL を使用するように webrick を構成しようとしています。
追加した
gem 'rack-ssl', :require => 'rack/ssl'
私の宝石ファイルに
config.middleware.insert_before ActionDispatch::Static, "Rack::SSL"
config.force_ssl = true
私の /config/application.rb ファイルに。そして、 /script/rails ファイルを次のように変更して、自己署名証明書を使用するように webricke を構成しました
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 => 3001,
: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_PEER,
:SSLPrivateKey => OpenSSL::PKey::RSA.new( File.open("home/sureweb/rubystuff/server.cert.key").read),
:SSLCertificate => OpenSSL::X509::Certificate.new(File.open("home/sureweb/rubystuff/server.cert.crt").read),
:SSLCACertificateFile => 'home/sureweb/rubystuff/server.crt',
: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'
しかし、rails s を実行するたびに、次のようなメッセージが表示されます
You have already activated activesupport 3.2.3, but your Gemfile requires activesupport 3.0.12. Using bundle exec may solve this. (Gem::LoadError)
通常、バージョン 3.2.3 を削除することでこれを解決できますが、バージョン 3.2.3 に依存する他の多数の gem があるため、これはオプションではありません。これを機能させる別の方法はありますか?