Skip to content

Instantly share code, notes, and snippets.

@gentamura
Created November 4, 2012 15:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gentamura/4012226 to your computer and use it in GitHub Desktop.
Save gentamura/4012226 to your computer and use it in GitHub Desktop.
Railsのローカル環境にhttps(SSL)を導入する方法 ref: http://qiita.com/items/a1af6e9b5eb69d5469b7
#!/usr/bin/env ruby
# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
APP_PATH = File.expand_path('../../config/application', __FILE__)
require File.expand_path('../../config/boot', __FILE__)
require 'rubygems'
require 'rails/commands/server'
require 'rack'
require 'webrick'
require 'webrick/https'
require 'webrick/ssl'
module Rails
class Server < ::Rack::Server
def default_options
# cn と comment を適当に設定
cn = [[ "CN", WEBrick::Utils::getservername]]
comment = "Generated by Ruby/OpenSSL"
cert, rsa = WEBrick::Utils::create_self_signed_cert(1024, cn, comment)
ssl_certificate = cert.to_s
ssl_private_key = rsa.to_s
super.merge({
:Port => 443,
: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(ssl_private_key),
:SSLCertificate => OpenSSL::X509::Certificate.new(ssl_certificate),
:SSLCertName => cn
})
end
end
end
require 'rails/commands'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment