BackEnd

ALB+EC2な環境でhttpをhttpsにリダイレクトする

投稿日:

はじめに

httpsに対応済みのWebサイトの場合、httpでアクセスされた時にhttpsでリダイレクトすることがあるとお思います。
今回は、ALB+EC2な環境でhttpでアクセスされた場合にhttpsでリダイレクトする方法を紹介します。

前提条件

Nginx 1.12.1

ALBの設定

ALBではhttpsとhttpの両方のリスナーを設定します(どちらもALB→EC2間はhttpで通信します)

リスナーの設定は下記の通りです。

alb_listener

 

ヘルスチェックの設定は下記の通りです。

 

Nginxの設定

下記はEC2上でRailsアプリケーションを動作させる場合のnginx.confの例です。

httpでアクセスされた場合にhttpsにrewriteしているのは70〜76行目です。

$http_x_forwarded_protoを使うとクライアントがロードバランサーへの接続に使用したプロトコルを識別できます。
$http_x_forwarded_protoがhttpsではなかった時にhttpsでリダイレクトします。

注意点

注意点はリダイレクトの設定をserverディレクティブに書くのではなく、locationディレクティブに書く点です。

serverディレクティブに書いてしまうとヘルスチェックのための/healthcheck.htmlもリダイレクトしてしまうためヘルスチェックに失敗するようになってしまいます。

さいごに

先日AWS上に環境構築を行いましたが、Linuxやミドルウェアに関する知識不足を再認識しました。aws

サービスの開発を行いつつ、これらの知識を深めていこうと思います。

page_footer_responsive




-BackEnd
-

執筆者:

免責事項

このブログは、記事上部に記載のある投稿日時点の一般的な情報を提供するものであり、投資等の勧誘・法的・税務上の助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

rails

ShrineでS3に画像をアップロードする

1 はじめに1.1 前提条件1.2 関連記事2 AWS側の準備2.1 S3バケットを作成する2.2 CORSを設定する2.3 アクセス用のユーザを作成する3 Rails側の設定3.1 Initiali ...

Rust入門してみた その4 モジュール編

1 はじめに2 Rustのモジュール2.1 モジュールツリーの構築2.2 サブモジュール2.3 各モジュールの実装2.4 モジュールのプライバシー3 さいごに4 おすすめ書籍 はじめに これまでの記事 ...

laravel logo

LaravelのArtisanコマンドを自作する

1 はじめに2 コマンドの作成方法3 コマンドの実装3.1 文字列出力3.2 引数3.3 オプション3.4 入力を使用した対話型3.4.1 ask()メソッド3.4.2 secret()メソッド3.4 ...

WebアプリケーションにLINEログインを組み込む

1 はじめに2 LINEログインとは2.1 LINEログインでできること2.2 LINEログインのフロー3 LINEログインの設定3.1 プロバイダーを新規作成する3.2 チャネルを作成する3.3 リ ...

laravel logo

[Laravel] middlewareでHTTPリクエストの前後に処理を入れる

1 はじめに2 middlewareとは3 実装3.1 middleware作成3.2 コード実装4 middleware定義4.1 常に呼び出す4.2 特定のURLにアクセスした時のみ呼び出す4.3 ...

フォロー

blog-page_side_responsive

2017年10月
1234567
891011121314
15161718192021
22232425262728
293031  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。