@kyanny's blog

革命は金銭ではない - 孫文

Ruby: WEBrick で HTTPS サーバを立てる

  • WEBrick::HTTPServer.new()SSLEnable: trueSSLCertName を渡す
  • SSLCertName: [['CN', WEBrick::Utils.getservername]] とすると起動時に証明書を自動生成する
srv = WEBrick::HTTPServer.new({ :DocumentRoot => './',
                                :BindAddress => '127.0.0.1',
                                :Port => 8080,
                                SSLEnable: true,
                                SSLCertName: [['CN', WEBrick::Utils.getservername]]}) # ローカルマシン上で実行する場合 [['CN', 'localhost']] でも可
srv.mount_proc('/') { |req, res|
  r = Hash[URI.decode_www_form(req.request_uri.query)]
  res.body = r.inspect
}
trap("INT"){ srv.shutdown }
srv.start

即席で作られた自己証明書なので、

参考