@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

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

参考