Azure Front Doorのルート構成を使ったHTTPS終端やリダイレクト設定手順
Azure Front Doorのルート構成を使った、HTTPSの終端やHTTPSへのリダイレクト設定手順です。
Azure Front Doorのルート構成を利用することで、HTTPアクセスをHTTPSにリダイレクトしたり、HTTPS通信を終端して配信元(バックエンド)への転送をHTTPに変更することができます。リダイレクトや転送プロトコルの設定を組み合わせた場合に、アクセス時の挙動がどう変わるのかを確認しています。
※確認には、Azure Front Door Standardを利用しています。
Azure Front Doorのルート構成を使ったHTTPリダイレクト設定手順
Azure Front Doorの概要からリソース作成手順
Azure Front Doorの概要やリソース作成手順については、こちらで紹介しています。
検証構成
今回は、以下の構成で検証を行っています。
Windowsの仮想マシン(Azure VM)上でIISを起動し、Webサーバーとして利用しています。
WebサーバーはHTTPのみを受信しています。
※配信元にはLoad BalancerのパブリックIPを指定しています。
ルール構成にHTTPの設定がある
Azure Front Doorのルールには、受信したHTTPに関する設定があります。
HTTPについては、次の3つの設定があります。
-
- 受け入れ済みプロトコル: アクセスを許可するプロトコルの設定
- リダイレクト: HTTPアクセスをHTTPSにリダイレクトするかどうかの設定
- 転送プロトコル: 配信元(バックエンド)へ転送する際のプロトコルの設定
ルート構成の設定確認 | |
左側のメニューでフロントドアマネージャーを選択します。 次に、ルートを選択します。 |
![]() |
ルートの設定画面です。 受け入れ済みプロトコル、リダイレクト、転送プロトコルの設定を確認できます。 受け入れ済みプロトコルでは、HTTP、HTTPS、または両方を選択できます。 |
![]() |
![]() |
デフォルト設定のままでアクセス時の挙動を確認
デフォルトでは、以下の設定になっています。
-
- 受け入れ済みプロトコル: HTTPとHTTPS
- リダイレクト: チェックあり(HTTPをHTTPSにリダイレクト)
- 転送プロトコル: 受信した要求を一致させる
この設定の場合、以下の挙動になります。
-
- HTTPアクセスはHTTPSにリダイレクトされる
- 配信元(バックエンド)には、すべてHTTPSプロトコルで転送される
HTTPSにリダイレクトされるため、配信元(バックエンド)へはすべてHTTPSで転送されます。
バックエンドのWebサーバーがHTTPしか受信できない状態の場合、通信エラーとなります。
アクセス確認 | |
HTTP、HTTPSどちらでアクセスした場合もエラーとなります。 | ![]() |
リダイレクト設定のチェックを外してアクセス挙動を確認
リダイレクト設定のチェックを外して確認します。
-
- 受け入れ済みプロトコル: HTTPとHTTPS
- リダイレクト: チェックなし
- 転送プロトコル: 受信した要求を一致させる
この設定の場合、以下の挙動になります。
-
- HTTPアクセスはHTTPSにリダイレクトされない
- HTTPでアクセスがあった場合はHTTPで配信元(バックエンド)に転送される
- HTTPSでアクセスがあった場合はHTTPSで配信元(バックエンド)に転送される
配信元への転送がHTTPSにリダイレクトされることはありません。
したがって、配信元がHTTPでのみ応答できる場合は、HTTPアクセス時のみ正常に応答できます。
アクセス確認 | |
リダイレクトのチェックを外して設定を更新します。 | ![]() |
HTTPアクセス時のみ、配信元(バックエンド)のコンテンツが表示されます。 HTTPSへのリダイレクトが行われないため、保護されていない通信(HTTP)となります。 |
【HTTPSアクセス時】![]() |
【HTTPアクセス時】 |
リダイレクトのチェックを外した状態で転送プロトコルをHTTPに変更
リダイレクト設定のチェックを外した状態で、転送プロトコルをHTTPに変更します。
-
- 受け入れ済みプロトコル:HTTPとHTTPS
- リダイレクト:チェックなし
- 転送プロトコル:HTTP
この設定の場合、以下の挙動になります。
-
- HTTPアクセスはHTTPSにリダイレクトされない
- HTTPSアクセス、HTTPアクセスのいずれの場合も、配信元(バックエンド)へはHTTPで転送される
配信元への転送は常にHTTPで行われます。
そのため、HTTPS、HTTPどちらで受信した場合も応答できる状態になります。
アクセス確認 | |
リダイレクトのチェックは外したままにします。 転送プロトコルを"HTTPのみ"として設定を更新します。 |
![]() |
HTTP、HTTPSアクセス時ともに、配信元(バックエンド)のコンテンツが表示されます。 |
![]() |
![]() |
リダイレクトのチェックを入れた状態で転送プロトコルをHTTPとする
転送プロトコルをHTTPにした状態で、リダイレクト設定のチェックを入れます。
-
- 受け入れ済みプロトコル: HTTPとHTTPS
- リダイレクト: チェックあり (HTTPをHTTPSにリダイレクト)
- 転送プロトコル:HTTP
この設定の場合、以下の挙動になります。
-
- HTTPアクセスはHTTPSにリダイレクトされる
- HTTPSアクセス・HTTPアクセスのいずれの場合も、配信元(バックエンド)へはHTTPで転送される
配信元への転送は常にHTTPで行われます。
そのため、HTTPS、HTTPどちらで受信した場合も応答できる状態になります。
HTTPアクセスはHTTPSへリダイレクトされ、すべてのアクセスをHTTPS化できます。
アクセス確認 | |
リダイレクト設定のチェックを入れます。 転送プロトコルは"HTTPのみ"のままで設定を更新します。 |
![]() |
HTTP、HTTPSアクセス時ともに配信元(バックエンド)のコンテンツが表示されます。 HTTPSへのリダイレクトが行われるため、HTTPでアクセスした場合でもHTTPSで通信できる状態となります。 |
![]() |
—広告—
最後に
Azure Front DoorでHTTPSを終端し、配信元(バックエンド)にHTTPで転送する場合は、以下の挙動となります。
Azure Front DoorでHTTPSを終端する場合は、リダイレクト設定にチェックを入れ、転送プロトコルをHTTPのみにすれば良さそうです。
設定 | HTTPS | HTTP |
リダイレクト:チェックあり 転送プロトコル:受信した要求を一致させる |
× | × |
リダイレクト:チェックなし 転送プロトコル:受信した要求を一致させる |
× | 〇(HTTP) |
リダイレクト:チェックなし 転送プロトコル:HTTPのみ |
〇(HTTPS) | 〇(HTTP) |
リダイレクト:チェックあり 転送プロトコル:HTTPのみ |
〇(HTTPS) | 〇(HTTPS) |
HTTPからHTTPSへのリダイレクトは、Azure Front Doorのルールエンジンを使っても設定できます。
設定手順については、こちらで紹介しています。
Azure Front Doorの配信元(バックエンド)の正常性確認については、こちらで紹介しています。