@kyanny's blog

My thoughts, my life. Views/opinions are my own.

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

2023-08-19 追記: 改良版を書いた。

blog.kyanny.me


  • 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

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

参考