App Service Environment で内部ロード バランサーを使用するアプリケーション ゲートウェイの許可リストにバックエンド サーバー証明書が登録されない
この記事でトラブルシューティングを行う問題: Azure 内でエンド ツー エンド SSL を使用するとき、内部ロード バランサー (ILB) と App Service Environment (ASE) を一緒にバックエンドで使用してアプリケーション ゲートウェイを作成すると、証明書が許可リストに登録されません。
現象
バック エンドで ILB を ASE と一緒に使用してアプリケーション ゲートウェイを作成すると、バックエンド サーバーが異常になることがあります。 この問題が発生するのは、アプリケーション ゲートウェイの認証証明書が、バックエンド サーバー上の構成済み証明書と一致しない場合です。 例として次のシナリオをご覧ください。
アプリケーション ゲートウェイ構成:
- リスナー: マルチサイト
- [ポート]: 443
- ホスト名: test.appgwtestase.com
- SSL 証明書: CN=test.appgwtestase.com
- バックエンド プール: IP アドレスまたは FQDN
- IP アドレス:: 10.1.5.11
- HTTP 設定: HTTPS
- ポート:: 443
- カスタム プローブ: ホスト名 – test.appgwtestase.com
- 認証証明書: test.appgwtestase.com の .cer
- バックエンド正常性: 異常 バックエンド サーバーの証明書がアプリケーション ゲートウェイの許可リストにありません。
ASE 構成:
- ILB IP: 10.1.5.11
- ドメイン名: appgwtestase.com
- App Service: test.appgwtestase.com
- SSL バインディング: SNI SSL – CN=test.appgwtestase.com
アプリケーション ゲートウェイにアクセスすると、バックエンド サーバーが異常であるため次のエラー メッセージを受け取ります。
[502 - Web server received an invalid response while acting as a gateway or proxy server.]\(502 - Web サーバーがゲートウェイまたはプロキシ サーバーとして動作しているときに、無効な応答を受信しました。\)
解決策
HTTPS Web サイトにアクセスするときにホスト名を使用しないと、SNI が無効になっている場合、バックエンド サーバーによって既定 Web サイトに対する構成済みの証明書が返されます。 ILB ASE の場合、既定の証明書は ILB 証明書に基づきます。 ILB の構成済み証明書がない場合、証明書は ASE App 証明書に基づきます。
完全修飾ドメイン名 (FQDN) を使用して ILB にアクセスすると、バックエンド サーバーは HTTP 設定にアップロードされた正しい証明書を返します。 これに該当しない場合は、次のオプションを検討してください。
アプリケーション ゲートウェイのバックエンド プール内で、ILB の IP アドレスを指す FQDN を使用します。 このオプションが機能するのは、プライベート DNS ゾーンまたはカスタム DNS を構成している場合のみです。 それ以外の場合は、パブリック DNS の "A"レコードを作成する必要があります。
ILB 上のアップロードされた証明書、または HTTP 設定内の既定証明書 (ILB 証明書) を使用します。 アプリケーション ゲートウェイは、プローブのために ILB の IP にアクセスするときに証明書を取得します。
すべての Web サイトで証明書が共通になるように、ILB とバックエンド サーバーでワイルドカード証明書を使用します。 ただし、このソリューションはサブドメインの場合のみ可能で、各 Web サイトに必要なホスト名が異なる場合は可能ではありません。
ILB の IP アドレスを使用する場合は、アプリケーション ゲートウェイの [App Service 用に使用します] オプションをクリアします。
オーバーヘッドを減らすため、HTTP 設定に ILB 証明書をアップロードしてプローブ パスが機能するようにします。 (この手順は許可リスト登録のためだけです。TLS 通信では使用されません。)お使いのブラウザーから HTTPS の IP アドレスを使用して ILB にアクセスし、TLS/SSL 証明書を Base-64 エンコーディングされた CER 形式でエクスポートし、それぞれの HTTP 設定に証明書をアップロードすることで、ILB 証明書を取得できます。
お困りの際は、 サポートにお問い合せください
お困りの際は、問題を迅速に解決するために、サポートにお問い合わせください。