LoginSignup
0
0

More than 5 years have passed since last update.

クラウド上の LB + SSL アクセラレーター + unicorn + Rails で HTTPS オンリーなアプリケーションを提供するための設定

Posted at

下記のシンプルな構成を実現したかった。

  • クラウド上の LB はグローバル IP を持ち HTTPS:443 のみ LISTEN
  • LB の SSL アクセラレーターで SSL リクエストをターミネート
  • バックエンドの unicorn + rails アプリには平文のリクエストがプロキシされる

んだけど、検索すると nginx で HTTP_X_FORWARDED_PROTO=https を設定しろ、という情報ばかりでハマりまくってしまった。
いろいろ調べまくったせいでどこのサイトで見つけた記述か失念しまったけど、最終的には unicorn.conf.rb に下記を記述するとよいことが分かった。

# for serving https only application
HttpRequest::DEFAULTS["rack.url_scheme"] = "https"
HttpRequest::DEFAULTS["HTTPS"] = "on"
HttpRequest::DEFAULTS["HTTP_X_FORWARDED_PROTO"] = "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