※注意:以下はChatGPTの出力そのままです。利用は自己責任で。
このまとめは、mkcertを使用してlocalhost用の証明書を作成し、それをWEBrickサーバで使用する基本的な手順を示しています。実際の環境やニーズに応じて適宜調整してください。
-
公式のGitHubリポジトリからmkcertをダウンロードします。
-
ダウンロードしたファイルを実行可能にし、適切なディレクトリに移動します。
-
ローカルCA(認証局)のセットアップ:
mkcert -installコマンドを実行して、ローカルCAを作成し、システム/ブラウザにインストールします。
-
証明書の生成:
mkcert localhost 127.0.0.1 ::1コマンドを使用して、localhostとIPアドレス用の証明書を生成します。
- 証明書ファイル:
mycert.pem - 秘密鍵ファイル:
mycert-key.pem
require 'webrick'
require 'webrick/https'
require 'openssl'
server = WEBrick::HTTPServer.new(
Port: 443, # HTTPSのデフォルトポート
DocumentRoot: '.', # ドキュメントルートのパス
# SSL設定
SSLEnable: true,
SSLCertificate: OpenSSL::X509::Certificate.new(File.read("path/to/mycert.pem")),
SSLPrivateKey: OpenSSL::PKey::RSA.new(File.read("path/to/mycert-key.pem")),
SSLCertName: [["CN", WEBrick::Utils::getservername]]
)
trap 'INT' do server.shutdown end
server.start- 443ポート以外を使用する場合は、
Portの値を適切なポート番号に変更してください。 path/to/mycert.pemとpath/to/mycert-key.pemは、それぞれ証明書ファイルと秘密鍵ファイルの実際のパスに置き換えてください。- WEBrickは開発やテストに適していますが、本番環境ではより高性能なサーバを使用することを推奨します。