Railsこんにちは、endoです。いこーよのHTTP/HTTPS判定をアプリケーション側から、nginxで行うようにしました。rails5へのアップデート作業の途中経過報告に書いていたことを実現しました。理由としては、下記の通りです。アプリケーション側で行うより、ALB/nginx側で行う方がコンピュータに優しいrails5のupdate作業中にssl_requirementのメンテナンスをなくしたかった対応としては、下記のことに注意しないといけません。check対応HTTPSリダイレクトいこーよはALBでHTTPS判定を行っているので、その前提でお話しします。ALBは暗号化処理を終わらせた状態で後続のリクエストを流してくれます。暗号解除(平文)ALBは暗号化処理を解除した証にヘッダーにX-Forwarded-Protoをhttpsという値をつけてくれています。nginxは$http_x_forwarded_protoがhttpsかどうかを判定すれよくなります。httpアクセスの場合は、ALBはヘッダーにX-Forwarded-Protoをつけてこないので、それを利用します。ALBはヘッダーにX-Forwarded-Protoをつけてこないので、それを利用します。...}これでHTTPSのリダイレクトは可能になりました。一部HTTPでもアクセス可能こちらは特定のURLの場合の設定をnginx側に書きます。@app;}try_filesでそのまま通常の設定に送ります。checkをHTTPS通信で行うと暗号を解除しないといけなくなるのでHTTP通信で行います。AgentでALBかどうかを判定します。リリース時の対応nginxの設定を反映すれば完了です。いこーよはマルチAZなので、アクセスを片方に寄せてnginxを起動することもできるのですが、若干めんどくさいですね。nginxはプロセスで設定を「反映する前」と「反映後」を共存できるので,それを利用して反映します。/var/run/nginx.pid`←設定後のプロセスを立ち上げてくれて、反映前のプロセスと共存します。/var/run/nginx.pid.oldbin`←反映前のプロセスを終了するこれでリリースは終了です。checkでサーバーが落ちていきます。こんなことがあるのかは、わからないですが、現象さえわかっていれば対応は取れます。check対応かどうかを調べていたときの方法です。Agentを入れて確かめていきました。moriyamaです。2日目レポートkawaguchiが19日の(自称)レポートをさせていただきます。(12)引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。