0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RailsのPumaでのHTTPS設定

Posted at

RailsのPumaを使って、開発環境でHTTPSを有効にしたい場合に、正しく設定しないと問題が発生することがあります。本記事では、HTTPS設定における問題の解決方法を詳細に解説します。

問題の原因

config/puma.rbに下記のように設定した場合、サーバーが正しく動作しません:

port ENV.fetch("PORT", 3000)
ssl_bind "0.0.0.0", "3000", {
  key: ENV.fetch("SSL_KEY_PATH"),
  cert: ENV.fetch("SSL_CERT_PATH")
}

問題のポイント

  • portssl_bind で同じポートを使用していることが原因となり、サーバーがエラーを起こす。
  • port は普通のHTTP接続用、ssl_bind はHTTPS接続用ですが、同じポートは一時に1つのプロセスでしか使用できません。

解決方法

1. 開発環境でHTTPSを有効にする設定

開発環境でしか使用しない場合、ssl_bind のみを設定します。

ssl_bind "0.0.0.0", "3000", {
  key: ENV.fetch("SSL_KEY_PATH"),
  cert: ENV.fetch("SSL_CERT_PATH")
}

これにより、HTTPS接続のみを認めるようになります。


サーバー起動の確認

設定を変更した後、サーバーが正常にHTTPSを使用できるかを確認します。

  1. Railsサーバーを起動:

    rails s
    
  2. ブラウザでアクセス確認:

    https://localhost:3000
    

これで正常にHTTPSでアクセスできるはずです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?