一般的なロード・バランサ・エラー
ロード・バランサに関連する一般的なロード・バランサ・エラーについて学習します。
一般的なロード・バランサ・エラーには、シリーズ500およびシリーズ400のエラー、ヘルス・チェック・エラー、クライアント・エラーおよびSSLエラーがあります。この項の後続のトピックでは、これらの一般的なエラーとそれぞれの詳細なトラブルシューティング手順について説明します(適用可能な場合)。
サーバー・エラー(500-599)
504
エラー・メッセージ:
-
lbStatusCode: "504"
-
backendStatusCode: ""
Oracle Cloud Infrastructureログ・カテゴリ: アクセス・ログ
症状:
クライアントが504
エラーで失敗します。
考えられる原因:
ロード・バランサは、ヘルス・チェックでバックエンドが使用可能としてマークされている場合でも、バックエンドとの接続を確立できません。
考えられる解決策:
ヘルス・チェックを正しく構成します。
トラブルシューティング・ドキュメント: ロード・バランサのヘルス・チェック・ポリシーの編集
502, 502
-
lbStatusCode: "502"
-
backendStatusCode: "502"
Oracle Cloud Infrastructureログ・カテゴリ: アクセス・ログとエラー・ログ
-
クライアントが
502 Bad Gateway
エラーで失敗します。 -
バックエンドのヘルス・チェックが成功します。
-
バックエンドが
502
エラーを返します。
-
バックエンドのアプリケーションが
502
エラーを返しています。 -
バックエンドが正しく構成されていません。
-
バックエンドが別のリバース・プロキシまたはロード・バランサの可能性があります。
考えられる解決策:
バックエンド・アプリケーション・ログを調査して、502
エラーが返される理由を特定します。
トラブルシューティング・ドキュメント: HTTP 502不正なゲートウェイ・エラーおよびTCPおよびHTTPバックエンド・サーバーのテスト。
502
-
lbStatusCode: "502"
-
backendStatusCode: ""
-
No healthy backends available in associated backend set
Oracle Cloud Infrastructureログ・カテゴリ: アクセス・ログとエラー・ログ
-
クライアントが
502 Bad Gateway
エラーで失敗します。 -
バックエンドのヘルス・チェックが失敗します。
-
特定のバックエンドまたはすべてのバックエンドに対して監視されたトラフィックはありません。
-
バックエンド・アプリケーションが、予期されたレスポンスでヘルス・チェックに応答していません。
-
バックエンドからエラーが発生しない場合、TCPヘルス・チェックが構成されています。
-
単一のバックエンドまたはすべてのバックエンドがドレイン・モードで構成されています。
-
TCPヘルス・チェックが失敗する理由を特定します。
-
HTTPヘルス・チェックに変換します。
-
特定のバックエンドまたはすべてのバックエンドのドレイン・モードをfalse (非ドレイン)に変更します。
トラブルシューティング・ドキュメント: HTTP 502不正なゲートウェイ・エラーおよびTCPおよびHTTPバックエンド・サーバーのテスト。
セッション永続性問題
Persistence selected backend ip_address which failed and no_fallback is selected
Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ
-
クライアントが
502 Bad Gateway
エラーで失敗します。 -
セッション永続性が失敗します。
-
バックエンド・セットがセッション永続性で構成されていますが、接続の失敗またはタイムアウトが発生したため、予期されたバックエンドを使用できません。
-
フォールバック・オプションが無効です。
-
バックエンド・アプリケーションにアクセスできない理由を特定します。
-
選択したサーバーが使用できない場合、フォールバック・オプションを有効にします。
トラブルシューティング・ドキュメント: フォールバック
他のすべての5nnエラーでは、最も可能性の高い原因はバックエンド・サーバーの問題です。
クライアント・エラー(400-499)
400
-
lbStatusCode: "400"
-
backendStatusCode: ""
-
400 bad request header or cookie too large
Oracle Cloud Infrastructureログ・カテゴリ: アクセス・ログ
-
ロード・バランサがステータス・コード
400
を返します。 -
バックエンドがステータス・コードを返しません。
考えられる原因:
クライアントが、構成されたバッファ・サイズを超えるリクエストを送信しています。
考えられる解決策:
ロード・バランサのHTTPリクエスト・ヘッダー・サイズを増やします。デフォルトでは、サイズ制限は8KBですが、64KBに増やすと問題が解決されます。
トラブルシューティング・ドキュメント: HTTPヘッダー・ルール
404, 404
-
lbStatusCode: "404"
-
backendStatusCode: "404"
Oracle Cloud Infrastructureログ・カテゴリ: アクセス・ログ
-
ロード・バランサが
404
ステータス・コードを返します。 -
バックエンドが
404
ステータス・コードを返します。
考えられる原因:
予期されたページがバックエンドに存在しません。
-
欠落しているページを作成します。
-
正しいページをコールするようにクライアントを構成します。
403, 403
-
lbStatusCode: "403"
-
backendStatusCode: "403"
Oracle Cloud Infrastructureログ・カテゴリ: アクセス・ログ
-
ロード・バランサが
403
ステータス・コードを返します。 -
バックエンドが
403
ステータス・コードを返します。
-
予期されたページに、バックエンドに対する十分な権限がありません。
-
予期された認証トークンがないか、転送されていません。
考えられる解決策:
-
バックエンドで欠落している権限を作成します。
-
トークンが正しく送信されるようにクライアント構成を調整します。
-
送信されたすべてのトークンがバックエンドに到着していることを確認します。
-
ヘッダーが欠落している場合:
-
ロード・バランサまたはクライアントのヘッダー・サイズを調整します。
-
特殊文字を含むヘッダーを許可します。
-
トラブルシューティング・ドキュメント: HTTPヘッダー・ルール
ヘルス・チェック・エラー
正常なバックエンドなし
No healthy backends available in associated backendSet
Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ
症状:
クライアントが502 Bad Gateway
エラーで失敗します。
-
バックエンド・セットにバックエンドがありません。
-
ヘルス・チェックに応答するバックエンドがありません。
-
バックエンドがヘルス・チェックに応答しない理由を特定します。
-
ステータス・コード、正規表現、間隔タイムアウト、ポート、プロトコルなどのヘルス・チェック設定を確認して調整します。
トラブルシューティング・ドキュメント: ロード・バランサのヘルス・チェック・ポリシーの編集
ステータス・コードの問題
バックエンド・ヘルス・ステータスの失敗の理由:ステータス・コードの不一致
Oracle Cloud Infrastructureカテゴリ: バックエンド・ヘルス・ステータス
Status code mismatch
Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ
-
バックエンドがヘルス・チェックに失敗します。
-
クライアントが
502 Bad Gateway
エラーで失敗します。 -
エラー・ログに
invalid statusCode
が表示されます。
-
バックエンドが不正なレスポンス・コードで応答しています。
-
レスポンス・コードが一致しないため、バックエンドのヘルス・チェックが失敗します。
-
ヘルス・チェックの失敗の原因は、正規表現本文に予期しないステータス・コードがあるためです。
-
バックエンドが不正なレスポンス・コードを送信している理由を特定します。
-
バックエンドと一致するようにヘルス・チェックのパスまたはステータス・コードを調整します。
トラブルシューティング・ドキュメント: ロード・バランサのヘルス・チェック・ポリシーの編集
応答照合に失敗
バックエンド・ヘルス・ステータスの失敗の理由: 正規表現の不一致
Oracle Cloud Infrastructureカテゴリ: バックエンド・ヘルス・ステータス
"response match result: failed"
Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ
-
バックエンドがヘルス・チェックに失敗します。
-
クライアントが
502 Bad Gateway
エラーで失敗します。 -
エラー・ログに
"response match result: failed"
が表示されます。
考えられる原因:
正規表現が一致しないか、不正な値が返されたか、ヘルス・チェックに指定された値が正しくないため、バックエンドのヘルス・チェックに失敗しました。
-
バックエンドが不正な本文を送信している理由を特定します。
-
バックエンドと一致するようにヘルス・チェックのパスまたは正規表現パターンを調整します。
トラブルシューティング・ドキュメント: ロード・バランサのヘルス・チェック・ポリシーの編集
接続不可ホスト
バックエンド・ヘルス・ステータスの失敗の理由: 接続の失敗
Oracle Cloud Infrastructureカテゴリ: バックエンド・ヘルス・ステータス
"errno":"EHOSTUNREACH","syscall":"connect"
"ECONNREFUSED","errno":"ECONNREFUSED"
Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ
-
バックエンドがヘルス・チェックに失敗します。
-
クライアントが
502 Bad Gateway
エラーで失敗します。 -
エラー・ログに
"EHOSTUNREACH"
が表示されます。
-
ホストにアクセスできないため、バックエンドのヘルス・チェックが失敗します。
-
接続がリセットされたため、バックエンドのヘルス・チェックが失敗します。
-
アプリケーションまたはファイアウォールが接続をアクティブに拒否しています。
-
ローカル・インスタンス・ファイアウォールをチェックして、トラフィックが許可されていることを確認します。
-
ローカル・インスタンスをチェックして、アプリケーションが実行中であることを確認します。
-
ネットワーク・セキュリティ・グループおよびセキュリティ・リストをチェックして、トラフィックが許可されていることを確認します。
トラブルシューティング・ドキュメント: アクセスとセキュリティ
ヘルス・ステータスの問題
"healthStatus":"Unhealthy to Healthy"
"healthStatus":"Healthy to Unhealthy"
Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ
-
クライアントは期待どおりに動作していますが、定期的に失敗します。
-
バックエンドは、ヘルス・チェックの成功と失敗を繰り返します。
-
エラー・ログに
"Unhealthy to Healthy"
または"Healthy to Unhealthy"
が表示されます。
-
異常なバックエンドが正常になります。
-
バックエンドのヘルス・ステータスが頻繁に変更される場合は、慢性的な問題を示している可能性があります。
-
インスタンスがヘルス・ステータスを異常に変更していないことを確認します。
-
バックエンド・サーバーのアプリケーション・ログで、アプリケーション固有の問題がないかどうかを確認します。
接続の問題
バックエンド・ヘルス・ステータスの失敗の理由: タイムアウト
Oracle Cloud Infrastructureカテゴリ: バックエンド・ヘルス・ステータス
"msg":"connect timed out","elapsed":3000}
Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ
-
クライアントが
502 Bad Gateway
エラーで失敗します。 -
バックエンドがヘルス・チェックを定期的にまたは慢性的に失敗します。
-
エラー・ログに
"connect timed out"
が表示されます。
-
バックエンド・サーバーが予期された期間内にヘルス・チェックに応答していません。
-
データベース、アプリケーション・サービス、APIなどの低速なアップストリーム依存関係、またはOracle Cloud Infrastructure File Storageサービス、Elastic Block Store、オブジェクト・ストレージなどの低速なストレージ・サービス。
-
原因としてのロード・バランサを排除するためにバックエンドに対してローカル・テストを実行します。
-
すべてのアップストリーム依存関係のパフォーマンスを確認します。
-
バックエンド・サーバーのアプリケーション・ログで、なんらかのタイムアウトをレポートする依存関係がないかどうかを確認します。
トラブルシューティング・ドキュメント: TCPおよびHTTPバックエンド・サーバーのテスト。
SSLエラー
SSL仮想リスナーの問題
Not all SSL virtual listeners on port 443 have the same set of SSL protocols defined
症状:
既存のロード・バランサのバックエンドを作成することも、以前に同じロード・バランサ内に作成されたバックエンドに新しいサーバーを追加することもできません。
考えられる原因:
Transport Layer Security (TLS)のバージョンが一致しません。
考えられる解決策:
リスナーのTLSバージョンを一致させます。
トラブルシューティング・ドキュメント: ロード・バランサのSSL証明書
SSLハンドシェイクの問題
(SSL: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol) while SSL handshake error
Oracle Cloud Infrastructureログ・カテゴリ: クライアント・ログ
症状:
クライアントで、ロード・バランサ・メトリックにSSLハンドシェイクの障害が発生します(ロード・バランサ・メトリックを参照)。
考えられる原因:
バックエンドがSSLを受け入れるように構成されていません。
-
バックエンド証明書が、指定された認証局と一致していることを確認します。
-
チェーン内のすべての証明書が、「証明書」フィールドに正しい順序で指定されていることを確認します。
-
正しい証明書の深さが指定されていることを確認します。
トラブルシューティング・ドキュメント: ロード・バランサのSSL証明書
バックエンドSSLハンドシェイクの問題
Peer backend_ip_address closed connection in SSL handshake
Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ
-
クライアントが
502 Bad Gateway
エラーで失敗します。 -
クライアントで、Oracle Cloud InfrastructureメトリックにSSLハンドシェイクの障害が発生します(ロード・バランサ・メトリックを参照)。
-
バックエンドがSSLを受け入れるように構成されていません。
-
バックエンド証明書が無効です。
-
バックエンド証明書が、指定された認証局と一致していることを確認します。
-
チェーン内のすべての証明書が、「証明書」フィールドに正しい順序で指定されていることを確認します。
-
正しい証明書の深さが指定されていることを確認します。
トラブルシューティング・ドキュメント: ロード・バランサのSSL証明書
SSL証明書の問題
エラー:
クライアントbackend_ip_address
にSSL証明書の検証エラーがあります。
Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ
症状:
クライアントで、Oracle Cloud InfrastructureメトリックにSSLハンドシェイクの障害が発生します(ロード・バランサ・メトリックを参照)。
-
クライアント証明書が無効です。
-
クライアント証明書が信頼されていません。
-
ピア証明書の検証の深さが無効です。
-
クライアント証明書が有効であることを確認します。
-
リスナーのピア証明書の検証機能を削除します。
クライアントSSL証明書の問題
Client backend_ip_address sent no required SSL certificate
Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ
-
クライアントで、
400 Response
エラーが発生します。 -
エラー・ログに
no required SSL certificate
が表示されます。
考えられる原因:
クライアントがクライアント証明書を送信していません。
-
正しいクライアント証明書を送信するようにクライアントを更新します。
-
リスナーのピア証明書の検証機能を削除します。
-
証明書の検証の深さを調整します。
トラブルシューティング・ドキュメント: ピア証明書の検証の構成。
SSLエラーにより、バックエンド・ヘルス・チェックが失敗します
"code":"EPROTO","errno":"EPROTO"
Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ
症状:
SSLエラーのため、バックエンドのヘルス・チェックが失敗します。
考えられる原因:
バックエンドはSSLを受け入れるように構成されていますが、選択したヘルス・チェック・プロトコルがバックエンドのものと一致しません。
考えられる解決策:
TLSが有効になっているバックエンドで非TLSのヘルス・チェックを使用していることを確認します。
トラブルシューティング・ドキュメント: ロード・バランサのヘルス・チェック・ポリシーの編集
SSLホスト名検証に失敗しました
SSL host name verification failed for host_name
Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ
-
クライアントが
502 Bad Gateway
エラーで失敗します。 -
エラー・メッセージに
SSL host name verification failed
が含まれます。
考えられる原因:
指定されたホスト名が予期されたものと一致しません。
-
予期されたホスト名を使用するようにクライアントを構成します。
-
クライアントによって送信されたホスト名と一致するように証明書を構成します。
トラブルシューティング・ドキュメント: ロード・バランサのSSL証明書
クライアント側のエラー
クライアント・アクセス拒否
エラー:
HTTP ACLルールによってclient_ip_address
へのアクセスが拒否されました。
Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ
-
クライアントが
502 Bad Gateway
エラーで失敗します。 -
バックエンドがヘルス・チェックに合格しません。
-
エラー・ログに
forbidden by HTTP ACL rule
が表示されます。
考えられる原因:
アクセス制御ルール・セットが有効になっていますが、ソースIPアドレスがありません。
考えられる解決策:
各ルール・セットを確認してソースIPアドレスを含めるように適用します。
トラブルシューティング・ドキュメント: アクセス制御ルール
クライアント・タイムアウトの問題
エラー:
クライアントclient_name
がタイムアウトしました
Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ
-
クライアントが
502 Bad Gateway
エラーで失敗します。 -
クライアントで、Oracle Cloud InfrastructureメトリックにSSLハンドシェイクの障害が発生します(ロード・バランサ・メトリックを参照)。
考えられる原因:
クライアントが、ロード・バランサに対して構成されたタイムアウトよりも早く接続を終了しました。
-
予期されたアプリケーション構成と一致するようにクライアント・タイムアウトを構成します。
-
構成された時間内にバックエンド・サーバーが応答しなかった理由を特定します。
トラブルシューティング・ドキュメント: TCPおよびHTTPバックエンド・サーバーのテスト。
クライアント接続が突然クローズされました
エラー:
address
への接続が次によって突然クローズされました
Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ
症状:
クライアントが502不正なゲートウェイ・エラーで失敗します。
考えられる原因:
リスナーにはMaxリスナー接続ルールがあり、IPはルールで許可されているよりも多くの接続をリスナーにしようとしました。
考えられる解決方法
-
IPがリスナーに対して許可される接続数を増やします。
-
IPがリスナーに接続する数を減らします。
トラブルシューティング・ドキュメント: 最大リスナー接続ルール。
バックエンド・サーバー・エラー
バックエンド・サーバー接続の問題
エラー:
バックエンドip_address
が接続を突然クローズします。
Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ
-
クライアントが502不正なゲートウェイ・エラーで失敗します。
-
クライアントがロード・バランサ・メトリックでIOエラーをレポートします。
-
バックエンド・サーバー・セットでHTTPSが使用されており、暗号スイートまたはTLSバージョンに互換性がありません。
考えられる原因:
-
バックエンド・サーバー接続タイムアウトが、ロード・バランサより小さいタイムアウト値で誤って構成されています。
-
バックエンド・サーバーまたはそのそれを含むバックエンド・セットに
maxConnections
が設定されており、バックエンド・サーバーへの接続数が指定された制限に達しました。
考えられる解決策:
-
バックエンド・サーバー・アプリケーションがタイムアウトしている理由を特定します。
-
バックエンド・サーバーのタイムアウト値の調整が必要な場合は、ロード・バランサのタイムアウト値を超えるように調整します。
-
負荷を処理するバックエンド・サーバーを追加します。
-
maxConnections
設定を増やします。
正常なバックエンド・サーバーがない
エラー:
関連付けられたbackendSet
で使用可能な正常なバックエンドがありません
Oracle Cloud Infrastructureログ・カテゴリ: エラー・ログ
症状:
クライアントが502不正なゲートウェイ・エラーで失敗します。
考えられる原因:
-
バックエンド・セットにバックエンド・サーバーがありません。
-
バックエンド・サーバーがヘルス・チェックに応答していません。
-
バックエンド・セット内のすべてのヘルス・バックエンド・サーバーが
maxConnections
制限に達しました。
考えられる解決策:
-
バックエンドがヘルス・チェックに応答しない理由を特定します。
-
ステータス・コード、正規表現、間隔タイムアウト、ポート、プロトコルなどのヘルス・チェック設定を確認して調整します。
-
バックエンド・サーバーに
maxConnections
制限が設定されているかどうかを確認します。その場合は、負荷を処理するバックエンド・サーバーを追加するか、maxConnections
制限を増やします
トラブルシューティング・ドキュメント: TCPおよびHTTPバックエンド・サーバーのテスト。