SharePoint2013に展開したいRailsアプリがあります。
何らかの認証手段を実現するには、WEBrick server
がssl
https
を提供し、port
https://localhost:3001
で着信httpsをリッスンする必要があります。残念ながら、私はサーバーの構成についてあまり経験がありません。
古いRailsバージョンの古いチュートリアルをいくつか見つけただけで、もう仕事をしていないようです。
ヒントは大歓迎です。
あなたがWEBrickを要求したことは知っていますが、他の提案をしてすみませんが、 Thin =を使用することをお勧めします。 Ruby Webサーバー(より高速で軽量)なので、SSLを開始して、次のように簡単に要件を満たすことができます。
$ thin start --ssl -p 3001
Gemfileにgem'thin 'を追加することを忘れないでください;-)
これがRails 3と4の両方と互換性のある私のソリューションです。
bin/Rails
の先頭に次のコードを追加します。
require 'rubygems'
require 'Rails/commands/server'
require 'rack'
require 'webrick'
require 'webrick/https'
module Rails
class Server < ::Rack::Server
def default_options
ssl_default_options = {
:Port => 443,
:SSLEnable => true,
:SSLVerifyClient => OpenSSL::SSL::VERIFY_NONE,
:SSLPrivateKey => OpenSSL::PKey::RSA.new(File.open(File.expand_path('../../config/cert/server_development.key', __FILE__)).read),
:SSLCertificate => OpenSSL::X509::Certificate.new(File.open(File.expand_path('../../config/cert/server_development.crt', __FILE__)).read),
:SSLCertName => [['CN', WEBrick::Utils::getservername]]
}
ENV['Rails_SSL'] ? super.merge(ssl_default_options) : super
end
end
end
明らかに、自己署名証明書を生成するか、購入する必要があります。
次に、コマンドラインからWebRickを起動する場合は、Rails_SSL=true Rails s
を使用します。通常、ポート443でリッスンするにはSudo
が必要なので、ポートを変更するには-p 3001
を追加することをお勧めします。