2012-01-11 28 views
10

私は現在、WEBrickにしてHTTPSを有効にするために、私のRailsアプリで以下のオプションを使用しています:HTTPSで中間証明書を使用するようにWEBrickを設定するにはどうすればよいですか?

{ 
    :Port => 3000, 
    :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("certificates/https/key.pem").read), 
    :SSLCertificate => OpenSSL::X509::Certificate.new(
     File.open("certificates/https/cert.pem").read), 
    :SSLCertName => [["CN", WEBrick::Utils::getservername]] 
} 

は、どのように私は中間証明書を指定するに行きますか?

+0

質問自体に自分自身の質問に答えるべきではありません。むしろあなた自身の質問に答えて答えるべきです。 –

+0

上記のコードは[このブログの投稿](https://www.altamiracorp.com/blog/employee-posts/configuring-webrick-to-use-ssl)から来たようですが、正しいですか? –

+0

私はそれをWEBrickの文書から取り除いたと思います。それはそれ自体の挑戦でした。それはかなりボイラープレートです。私は@priteshjについてはコメントできません。 –

答えて

12

私はキーワードのためのグーグルの余分な時間の後に答えを見つけることができました。必要な場合は、複数の証明書を含めることができ、オプションはArrayオブジェクトが必要であることを

:SSLExtraChainCert => [ 
    OpenSSL::X509::Certificate.new(
     File.open("certificates/intermediate.crt").read)] 

注:ここでは中間証明書を定義するオプションです。

-1

あなたがレール3を使用している場合は、

#!/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. 
require 'rubygems' # if ruby 1.8.7 
require 'rails/commands/server' 
require 'rack' 
require 'webrick' 
require 'webrick/https' 

module Rails 
    class Server < ::Rack::Server 
     def default_options 
      super.merge({ 
       :Port => 3000, 
       :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("/key/vhost1.key").read), 
       :SSLCertificate => OpenSSL::X509::Certificate.new(
         File.open("/crt/vhost1.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' 

としてスクリプト/レールファイルを変更する上記のコードは、Configuring WEBrick to use SSL in Rails 3の例から変更されました。これは私のために働いた。

+0

.pemから.crt形式に変更しても、ファイルに存在する実際の証明書情報は変更されません。私はWEBrickに中間証明書である第3の情報を知らせる必要があります。 –

+0

編集中のスクリプト/レールファイルを共有できますか?また、どのバージョンがルビーとレールであるのですか? – PriteshJ

+0

私の質問は中間証明書を定義する方法を尋ねています。 –

関連する問題