Application GatewayのSSL証明書が変わらない問題 #Azureリレー

先週の川口の intune管理端末にアプリの自動インストールする方法 #Azureリレー に引き続き、 毎週水曜日にAzure関連の記事を挙げる Azure リレー第33回を担当します。 今回は、この前Application Gateway v2の仕様を把握できておらず、大変な思いをしたのでその仕様について記事にしたいと思います。

Application Gateway v2で参照するSSL証明書

Application GatewayにHTTPSで通信する際、Client Helloの時点で参照するSSL証明書はアクセスする条件によって異なります。具体的には下の2パターンに分けられます。

  • リソースのURLを使ってアクセスする場合
  • リソースのIPを使ってアクセスする場合

それぞれどのような挙動をするのか解説します。前提条件は下記のとおりです。

  1. リソースのURLを使ってアクセスした場合

    リソースのURLを使ってアクセスした場合はベーシックリスナーに設定されているSSL証明書が参照されます。

  1. リソースのIPアドレスを使ってアクセスした場合

    リソースのIPアドレスを使ってアクセスした場合、ベーシックリスナーではなく、設定されている存在するリスナーの中で最も古いリスナーのSSL証明書が参照されます。

このため、リソースのIPアドレスを使ってApplication Gatewayにアクセスすることが想定される場合、ベーシックリスナーのSSL証明書を更新することではSSL証明書の更新ができないため、注意が必要です。リソースのIPアドレスでのアクセスすることが想定される場合、ベーシックリスナーのSSL証明書を参照したいときはすべてのリスナーを一旦削除して、ベーシックリスナーが1番上位のHTTPSリスナーになるように再作成する必要があります。

蛇足

自分はAzure Front DoorのバックエンドとしてApplication GatewayをIPアドレスで指定していたのですが、子の仕様を知らなかったためにSSL証明書が切り替わらず、結構な時間を消費してしまいました。この仕様を最初から知っていれば無駄な時間を消費することが無かったので、読者の皆様にはこんなことにならないように気を付けていただければと思います。

%d人のブロガーが「いいね」をつけました。