FIXER cloud.config Tech Blog
Azure Application GatewayのSSL証明書が更新されない原因は?
2020年11月10日 12時00分更新
本記事はFIXERが提供する「cloud.config Tech Blog」に掲載された「Application GatewayのSSL証明書が変わらない問題 #Azureリレー」を再編集したものです。
今回は、先日、WebロードバランサーであるApplication Gateway v2の仕様を把握できておらず、大変な思いをしたのでその仕様について記事にしたいと思います。
Application Gateway v2で参照されるSSL証明書
Application GatewayにHTTPSで通信する際、Client Helloの時点で参照されるSSL証明書はアクセスする条件によって異なります。具体的には下の2パターンに分けられます。
・リソースのURLを使ってアクセスする場合
・リソースのIPアドレスを使ってアクセスする場合
それぞれどのような挙動をするのか解説します。前提条件は下記のとおりです。
1. リソースのURLを使ってアクセスした場合
リソースのURLを使ってアクセスした場合はベーシックリスナーに設定されているSSL証明書が参照されます。
2. リソースのIPアドレスを使ってアクセスした場合
リソースのIPアドレスを使ってアクセスした場合、ベーシックリスナーではなく、設定されている存在するリスナーの中で最も古いリスナーのSSL証明書が参照されます。
このため、リソースのIPアドレスを使ってApplication Gatewayにアクセスすることが想定される場合、ベーシックリスナーのSSL証明書を更新することではSSL証明書の更新ができないため、注意が必要です。リソースのIPアドレスでのアクセスすることが想定される場合、ベーシックリスナーのSSL証明書を参照したいときはすべてのリスナーを一旦削除して、ベーシックリスナーが1番上位のHTTPSリスナーになるように再作成する必要があります。
蛇足
自分はAzure Front DoorのバックエンドとしてApplication GatewayをIPアドレスで指定していたのですが、この仕様を知らなかったためにSSL証明書が切り替わらず、結構な時間を消費してしまいました。この仕様を最初から知っていれば無駄な時間を消費することが無かったので、読者の皆様にはこんなことにならないように気を付けていただければと思います。
三上 柊悟/FIXER
cloud.config Div 所属の三上 柊悟です。好きな食べ物はメロンパンです。