この記事では、Azure Front Doorを使用するときに発生する可能性がある一般的な問題のトラブルシューティング方法について説明します。
概要
注
追加のデバッグ HTTP 応答ヘッダーを返すようにAzure Front Doorを要求できます。 詳細については、省略可能な応答ヘッダーに関するページを参照してください。
数秒後のAzure Front Doorからの 504 応答
症状
- Azure Front Doorを経由せずにバックエンドに送信される通常の要求は成功しています。 Azure Front Doorを実行すると、504 エラー応答が発生します。
- 通常、Azure Front Doorからのエラーは約 30 秒後に発生します。
- 504 エラーが "ErrorInfo: OriginTimeout" と共に表示されます。
原因
この問題の原因は、次の 2 つのいずれかです。
- オリジンサーバーが、Azure Front Doorから要求を受信するように構成されたタイムアウトよりも時間がかかっている。 既定のタイムアウトは 30 秒です。
- Azure Front Doorからの要求に応答を送信するのにかかる時間が、タイムアウト値よりも長くなっています。
トラブルシューティングの手順
Azure Front Doorを経由せずに、配信元に直接要求を送信します。 配信元が応答するまでに通常どのくらい時間がかかるかを確認してください。
Azure Front Door経由で要求を送信し、504 件の応答を受け取っているかどうかを確認します。 そうでない場合は、タイムアウトの問題ではない可能性があります。 さらに問題のトラブルシューティングを行うには、サポート リクエストを作成します。
Azure Front Door を経由する要求で 504 エラー応答コードが返される場合は、Azure Front Door の Origin response timeout を設定してください。 デフォルトのタイムアウトは、最大 4 分 (240 秒) まで増やすことができます。 設定を構成するには、Front Door プロファイルの概要ページに移動します。 [配信元の応答タイムアウト] を選択し、16 秒から 240 秒の間の値を入力します。
注
配信元の応答タイムアウトを構成する機能は、Azure Front Door Standard/Premium でのみ使用できます。
HTTPS の場合にのみ Azure Front Door から 502 応答が返される
症状
- Azure Front Doorは、HTTPS 対応エンドポイントに対してのみ 502 応答を返します。
- Azure Front Door を経由せずにバックエンドに送信された通常のリクエストは成功します。 Azure Front Door経由すると、502 エラー応答が発生します。
原因
この問題の原因は、次の 3 つのいずれかである可能性があります。
- 配信元のホスト名は IP アドレスです。
- 配信元サーバーは、Azure Front Door バックエンドの完全修飾ドメイン名 (FQDN) と一致しない証明書を返します。
- 配信元サーバーは、完全なチェーンのない証明書を返します。
トラブルシューティングの手順
バックエンドが IP アドレスである。
EnforceCertificateNameCheckを無効にする必要があります。Azure Front Doorには、
EnforceCertificateNameCheckというスイッチがあります。 既定では、この設定は有効です。 有効にすると、Azure Front Door は、バックエンド ホスト名 FQDN がバックエンド サーバー証明書の証明書名またはサブジェクトオルタネートネーム拡張のエントリのいずれかと一致することを確認します。Azure ポータルから
EnforceCertificateNameCheckを無効にする方法:ポータルでトグル ボタンを使用して、Azure Front Door (クラシック) Design ペインでこの設定をオンまたはオフにします。
Azure Front Door Standard レベルと Premium レベルでは、配信元グループに配信元を追加したり、ルートを構成したりするときに、配信元の設定でこの設定を確認できます。
バックエンド サーバーは、Azure Front Door バックエンドの FQDN と一致しない証明書を返します。 この問題を解決するには、次の 2 つのオプションがあります。
- 返される証明書は FQDN と一致している必要があります。
-
EnforceCertificateNameCheckを無効にします。
配信元サーバーは、完全なチェーンなしで証明書を返します。
配信元サーバーは、少なくともリーフ証明書と中間証明書を含む完全な証明書チェーンを持つ証明書を返す必要があります。 配信元サーバーがリーフ証明書のみを返す場合、Azure Front Doorは 502 エラーを返します。
クライアント コンピューターから直接配信元サーバーに接続してブラウザーで配信元サーバー証明書をテストしても、エラーは表示されません。 ブラウザーは、証明書チェーンの信頼を再構築して、配信元サーバーから返された内容を正確に表示するのではなく、信頼する必要があると思われるものにします。
OPENSSL を使用して、返される証明書チェーンを確認します。 このチェックを行うには、
-connectを使用して配信元のホスト名に接続します。-servernameを使用して配信元のホスト名を送信します。 配信元のホスト名が IP の場合は、-noservernameを使用します。 このコマンドは証明書チェーン全体を返します。このチェーンは、配信元の FQDN と一致し、完全な信頼証明書チェーンを含む必要があります。
配信元のホスト名は FQDN です。
openssl s_client -connect backendvm.contoso.com:443 -servername backendvm.contoso.com -showcerts配信元のホスト名は IP アドレスです。
openssl s_client -connect 0.0.0.0:443 -noservername -showcerts
カスタム ドメインに送信された要求は、404 状態コードを返します
症状
- Azure Front Door インスタンスを作成しました。 ドメインまたはフロントエンド ホストへの要求は、HTTP 404 状態コードを返します。
- カスタム ドメインに対して、構成したフロントエンド ホストへの DNS (ドメイン ネーム サーバー) マッピングを作成しました。 カスタム ドメイン ホスト名に要求を送信すると、HTTP 404 状態コードが返されます。 設定したオリジンにルーティングされていないようです。
原因
この問題は、フロントエンド ホストとして追加したカスタム ドメインのルーティング規則を構成しなかった場合に発生します。 そのフロントエンド ホストのルーティング規則を明示的に追加する必要があります。 Azure Front Door サブドメイン (.azurefd.net) の下にフロントエンド ホストのルーティング規則を既に構成している場合でも、ルールを作成する必要があります。
トラブルシューティングの手順
カスタム ドメインに対して、選択した配信元グループにトラフィックを送信するルーティング規則を追加します。
http を HTTPS にリダイレクトしないAzure Front Door
症状
Azure Front Doorには HTTP と HTTPS の両方のルーティング規則がありますが、HTTP を使用してドメインにアクセスすると、HTTP がプロトコルとして保持されます。
原因
この動作は、Azure Front Doorのルーティング規則を正しく構成していない場合に発生する可能性があります。 現在の構成は固有ではなく、規則が競合している可能性があります。
トラブルシューティングの手順
ルートで [ HTTPS を使用するすべてのトラフィックをリダイレクトする ] オプションが選択されていることを確認します。
オリジンが IP アドレスとして設定されている
症状
配信元を IP アドレスとして構成しました。 配信元は正常ですが、Azure Front Doorからの要求は拒否されます。
原因
Azure Front Doorは、SSL ハンドシェイク中に SNI ヘッダーとして配信元ホスト名を使用します。 配信元を IP アドレスとして構成し、証明書名のチェックを無効にすると、配信元の証明書ロジックによって、証明書に一致する有効な SNI がない要求が拒否される可能性があります。
トラブルシューティングの手順
送信元を IP アドレスから、配信元証明書と一致する有効な証明書を持つ完全修飾ドメイン名 (FQDN) に変更します。
Azure Front Doorからの 429 件の応答
症状
429:の応答によってエラー表示を開始した要求の割合: 要求が多すぎます。
原因
Azure Front Doorには、既定のプラットフォーム レート制限があります。 トラフィックが制限を超えた場合、Front Door はトラフィックのレート制限を開始し、429 応答を返します。
トラブルシューティングの手順
正当なトラフィックに対して 429 件の応答が表示され始め、より高いクォータ制限が必要な場合は、Azure サポート要求を作成します。
関連するコンテンツ
- Azure Front Doorの配信元を構成する方法について説明します。
- Azure Front Doorを使用したエンド ツー エンド TLS 暗号化について説明します。
- Azure Front Doorが URL リダイレクトをサポートする方法について説明します。
- Azure Front Doorにカスタム ドメインを追加する方法について説明します。