flow.*
|
|
flow.APITimedOut |
|
504 Gateway Timeout |
|
API timed out |
|
このエラーは、次の場合に発生します。
- バックエンド サーバーからの応答が、特定の API プロキシのプロパティ
api.timeout で構成されているタイムアウト期間内に戻ってこない。
- オペレーションの計算負荷が高い、あるいは高負荷、低パフォーマンスな状態にあるため、ポリシーの実行に時間がかかっている。
|
注: このハンドブックでは、エラーコード messaging.adaptors.http.flow.GatewayTimeout のトラブルシューティング手順について説明しますが、同じハンドブックを使用して flow.APITimedOut エラーコードのトラブルシューティングを行うこともできます。
|
|
プレイブック
|
flow.SharedFlowNotFound |
|
500 Internal Server Error |
|
Shared Flow {shared_flow_name} Not Found |
|
このエラーは、特定の共有フローが次の場合に発生します。
- 存在しない
または
- 存在するがデプロイされていない
|
|
プレイブック
|
messaging.adaptors.http.flow
|
|
messaging.adaptors.http.flow.ApplicationNotFound |
|
404 Not Found |
|
|
Unable to identify proxy for host: {virtual_host} and url: {pathsuffix} |
|
|
このエラーは、次のいずれかのシナリオで発生します。
- 具体的な API プロキシは次のとおりです。
- 特定の仮想ホストでリクエストを受信するように構成されていない
- リクエストで使用されている特定のパスでリクエストを受け入れるように構成されていない
- API リクエストを行う特定の環境にデプロイされていない
- 1 つ以上の Message Processor にデプロイされていない
- API リクエストを行う環境が 1 つ以上の Message Processor に読み込まれていない
|
プレイブック |
|
このエラーは、複数の仮想ホストに同じホスト エイリアスとポート番号がある場合にも発生する可能性があります。 |
ハンドブック |
|
|
messaging.adaptors.http.flow.DecompressionFailureAtRequest |
|
400 Bad Request |
|
Decompression failure at request |
|
このエラーは、次の場合にのみ発生します。
- HTTP リクエスト ヘッダー
Content-Encoding で指定されたエンコードが有効であり、
Apigee Edge でサポートされていること。
ただし
- HTTP リクエストの一部としてクライアントから送信されるペイロードの形式が、
Content-Encoding ヘッダーで指定されたエンコード形式と一致していない
|
|
プレイブック
|
messaging.adaptors.http.flow.DecompressionFailureAtResponse |
|
502 Bad Gateway |
|
Decompression failure at response |
|
このエラーは、次の場合にのみ発生します。
- バックエンド/ターゲット サーバーの HTTP レスポンス ヘッダー
Content-Encoding で指定されたエンコードが有効で、
Apigee Edge によってサポートされている
ただし
- HTTP レスポンスの一部としてバックエンド / ターゲット サーバーによって送信されるペイロード形式が、
Content-Encoding ヘッダーで指定されたエンコード形式と一致していない
|
|
ハンドブック
|
messaging.adaptors.http.flow.ErrorResponseCode |
|
500 |
プレイブック
動画
|
|
エラー メッセージと形式は、バックエンド サーバーの実装によって異なります。 |
|
|
このエラーは、バックエンド サーバーが Apigee Edge にステータス コード 500 で応答した場合に発生します。 |
|
|
503 |
PLAYBOOK
動画
|
|
エラー メッセージと形式は、バックエンド サーバーの実装によって異なります。 |
|
|
このエラーは、バックエンド サーバーが Apigee Edge にステータス コード 503 で応答した場合に発生します。 |
|
|
504 |
プレイブック
|
|
エラー メッセージと形式は、バックエンド サーバーの実装によって異なります。 |
|
|
このエラーは、バックエンド サーバーが Apigee Edge にステータス コード 504 で応答した場合に発生します。 |
|
注: エラーコード messaging.adaptors.http.flow.ErrorResponseCode はクライアント アプリケーションに送信されるエラー メッセージの一部として返されません。このエラーコードは、バックエンド サーバーがエラーと 4XX ステータス コードまたは 5XX ステータス コードのいずれかで応答するたびに Apigee Edge によって設定されるためです。このエラーコードは、API Monitoring、NGINX アクセスログ、分析データベースで確認できます。
|
|
|
messaging.adaptors.http.flow.GatewayTimeout |
|
504 Gateway Timeout |
|
Gateway Timeout |
|
このエラーは、Message Processor で構成された
I/O タイムアウト期間内にバックエンド サーバーが Apigee Edge Message Processor に応答しない場合に発生します。 |
|
ハンドブック |
messaging.adaptors.http.flow.LengthRequired |
|
411 Length Required |
|
'Content-Length' is missing |
|
このエラーは、Apigee Edge に送信される HTTP POST リクエストおよび PUT リクエストの一部として、クライアント アプリケーションから Content-Length ヘッダーが渡されない場合に発生します。 注: このエラーによって失敗したリクエストは、Trace ツールでキャプチャできません。これは、Message Processor が、リクエストを処理し、API プロキシで任意のポリシーを実行するよりかなり前の段階でこの検証を行うためです。 |
|
RFC セクション 3.3.2: Content-Length |
|
修正
このエラーに対処する手順は次のとおりです。
-
クライアント アプリケーションが、Apigee Edge に送信される HTTP POST および PUT リクエストの一部として、ヘッダー Content-Length を常に渡すようにします。例:
curl -X POST https://HOSTALIAS/PATH -d '{"name": "abc"}' -H "Content-Length: 15"
POST リクエストと PUT リクエストで空のペイロードを渡す場合でも、ヘッダー Content-Length: 0 が渡されるようにしてください。例:
curl -X POST https://HOSTALIAS/PATH -H "Content-Length: 0"
|
messaging.adaptors.http.flow.NoActiveTargets |
|
503 Service Unavailable |
|
|
The Service is temporarily unavailable |
|
|
このエラーは、Apigee Edge で
TargetServer を使用している場合に、次のいずれかのシナリオで発生します。
- カスタム認証サーバーによるバックエンド サーバーホストの DNS 解決が正しくないと、接続エラーにつながる IP アドレスの不具合が生じる。
- 次の原因による接続タイムアウト エラー:
- バックエンド サーバーのファイアウォール制限により、Apigee Edge がバックエンド サーバーに接続できない。
- Apigee Edge とバックエンド サーバー間のネットワーク接続の問題。
- TargetServer で指定されたホストが正しくないか、不要な文字(スペースなど)が含まれている。
|
ハンドブック
動画
|
|
このエラーは、ターゲット サーバーのヘルスチェックをモニタリングするように構成されたヘルスチェックが失敗した場合にも発生することがあります。 |
ハンドブック
動画
|
|
|
messaging.adaptors.http.flow.RequestTimeOut |
|
408 Request Timeout |
|
Request timed out |
|
このエラーは、Message Processor コンポーネントで構成された
I/O タイムアウト期間中に、Apigee Edge Message Processor がクライアント アプリケーションからリクエスト ペイロードを受信しない場合に発生します。 |
|
修正
クライアント アプリケーションが、Apigee Edge の Message Processor コンポーネントに構成された
I/O タイムアウト期間内にリクエスト ペイロードを送信するようにします。
|
messaging.adaptors.http.flow.ServiceUnavailable |
|
503 Service Unavailable |
|
|
The Service is temporarily unavailable |
|
|
このエラーは、次のいずれかのシナリオで発生します。
- カスタム認証サーバーによるバックエンド サーバーホストの DNS 解決が正しくないと、接続エラーにつながる IP アドレスの不具合が生じる。
- 次の原因による接続タイムアウト エラー:
- バックエンド サーバーのファイアウォール制限により、Apigee Edge がバックエンド サーバーに接続できない。
- Apigee Edge とバックエンド サーバー間のネットワーク接続の問題。
- ターゲット エンドポイントで指定されたターゲット サーバー ホストが正しくないか、不要な文字(スペースなど)が含まれている。
|
ハンドブック
DNS エラー:
動画
ネットワーク接続:
動画
|
|
また、Message Processor がバックエンド サーバーにリクエスト ペイロードを送信している間に、バックエンド サーバーが接続を早期に閉じた場合にも、このエラーが発生することがあります。 |
プレイブック
|
|
|
messaging.adaptors.http.flow.SslHandshakeFailed |
|
503 Service Unavailable |
|
SSL Handshake failed {error_message} |
|
このエラーは、Apigee Edge の Message Processor とバックエンド サーバー間の SSL handshake プロセス中に、次の場合に発生します。
- Apigee Edge の Message Processor のトラストストア:
- バックエンド サーバーの完全な証明書チェーンと一致しない証明書チェーンがある
または
- バックエンド サーバーの完全な証明書チェーンが含まれていない
- バックエンド サーバーによって提示される証明書チェーン:
- ターゲット エンドポイントで指定されたホスト名と一致しない完全修飾ドメイン名(FQDN)が含まれている
または
- 不正確 / 不完全な証明書チェーンが含まれている
|
|
プレイブック
動画
|
messaging.adaptors.http.flow.UnexpectedEOFAtTarget |
|
502 Bad Gateway |
|
Unexpected EOF at target |
|
このエラーは、次のいずれかのシナリオで発生します。
-
TargetServer が、Apigee Edge で TLS/SSL 接続をサポートするように正しく構成されていない。
- Apigee Edge がバックエンド サーバーからのレスポンスを待機している間、バックエンド サーバーが接続を突然閉じることがあります。
- Apigee とバックエンド サーバーでキープアライブ タイムアウトが正しく構成されていない。
|
|
PLAYBOOK |
|
messaging.runtime.*
|
|
messaging.runtime.RouteFailed |
|
500 Internal Server Error |
|
Unable to route the message to a TargetEndpoint |
|
このエラーは、次の理由により Apigee Edge がどの TargetEndpoint にもリクエストをルーティングできない場合に発生します。
- プロキシのリクエストに一致するルートルール(
<RouteRule> )の条件がない
AND
- ProxyEndpoint にデフォルトのルートルールが定義されていない(例:
<RouteRule> 、条件なし)
|
|
修正
このエラーに対処する手順は次のとおりです。
- ProxyEndpoint で定義されたルートルールを確認し、リクエストに一致するルートルール条件が少なくとも 1 つ存在するように変更します。
- 複数の RouteRules がある場合は、条件なしでデフォルトのルートルールを定義することをおすすめします。
- ProxyEndpoint ではルールが上から下への順に評価されるため、デフォルトのルートルールが条件付きルートのリストの最後に常に定義されていることを確認してください。
ProxyEndpoint での <RouteRule> 条件の定義について詳しくは、条件付きターゲットをご覧ください。
|
messaging.runtime.SenseRaiseFault |
|
403 Forbidden |
|
Sense Fault |
|
このエラーは、Apigee Sense ルールの一部としてブロックされている特定のクライアント IP アドレスから API リクエストが送信された場合に発生します。 |
|
修正
このエラーに対処する手順は次のとおりです。
-
Apigee Sense で構成されたルールを確認して、特定のクライアント IP アドレスがブロックされていることを確認します。ブロックされている場合は、設計どおりに動作していることを示します。
- 特定のクライアント IP アドレスがブロックされていないにもかかわらず、このエラーが引き続き発生する場合は、Apigee Edge サポートにお問い合わせください。
|
protocol.http.* - Caused due to bad request
|
|
|
|
500 Internal Server Error |
|
Bad Form Data |
|
このエラーは、次のすべての条件が満たされた場合にのみ発生します。
- クライアントが Apigee Edge に送信する HTTP リクエストに以下が含まれる。
Content-Type: application/x-www-form-urlencoded 、および
- パーセント記号(%)付き、またはパーセント記号(%)の後にフォーム - セクション 17.13.4.1 によって許可されていない無効な 16 進数文字が続くフォームデータ。
- Apigee Edge の API プロキシは、リクエスト フローで ExtractVariables ポリシーまたは AssignMessage ポリシーを使用して、許可されていない文字を含む特定のフォーム パラメータを読み取ります。
|
|
プレイブック |
|
|
400 Bad Request |
|
Duplicate Header "{header_name}" |
|
このエラーは、Apigee Edge で重複が許可されていない特定の HTTP ヘッダーが、クライアント アプリケーションから Apigee Edge に送信される HTTP リクエストの一部と同じ値または異なる値で複数回表示される場合に発生します。 |
|
RFC 7230、セクション 3.2.2: Field Order |
|
PLAYBOOK
|
|
|
|
|
|
|
|
|
|
protocol.http.InvalidPath |
|
|
protocol.http.TooBigBody |
|
413 Request Entity Too Large |
|
Body buffer overflow |
|
このエラーは、Apigee Edge への HTTP リクエストの一部としてクライアント アプリケーションによって送信されたペイロード サイズが、Apigee Edge で許可されている上限を超えている場合に発生します。 |
|
Apigee Edge の制限 |
|
プレイブック |
|
|
ハンドブック |
protocol.http.TooBigLine |
|
414 Request-URI Too Long |
|
request line size exceeding {limit} |
|
このエラーは、Apigee Edge への HTTP リクエストの一部としてクライアント アプリケーションによって送信されるリクエスト ラインのサイズが、Apigee Edge で許可されている上限を超えている場合に発生します。 |
|
Apigee Edge の上限 |
|
ハンドブック |
protocol.http.UnsupportedEncoding |
|
ハンドブック |
protocol.http.* - Caused by target
|
|
protocol.http.BadPath |
|
プレイブック |
|
|
502 Bad Gateway |
|
Duplicate Header "{header_name}" |
|
このエラーは、Apigee Edge で重複が許可されていない特定の HTTP ヘッダーが、バックエンド サーバーから Apigee Edge に送信される HTTP レスポンスの一部と同じ値または異なる値で複数回表示される場合に発生します。 |
|
RFC 7230、セクション 3.2.2: Field Order |
|
プレイブック
|
|
|
|
protocol.http.EmptyPath |
|
プレイブック |
|
|
|
|
|
|
protocol.http.ProxyTunnelCreationFailed |
|
503 Service Unavailable |
|
Proxy refused to create tunnel with response status {status code} |
|
このエラーは、プロキシ サーバーによる Apigee Edge とバックエンド サーバー間のトンネルの作成中に、ファイアウォール、ACL(アクセス制御リスト)、DNS の問題、バックエンド サーバーの可用性などの原因により発生します。
注: エラー メッセージ(faultstring )のステータス コードに、問題の大まかな原因が示されています。
|
|
プレイブック
|
protocol.http.Response306Reserved |
|
502 Bad Gateway |
|
Response Status code 306 is reserved, so can't be used. |
|
このエラーは、バックエンド サーバーが Apigee Edge にステータス コード 306 で応答した場合に発生します。
ステータス コード 306 は、以前のバージョンの HTTP 仕様で定義されていたものです。現行の HTTP 仕様では、このコードは予約済みであるため使用できません。
|
|
RFC 7231、セクション 6.3.5: 306 Reserved |
|
修正
ステータス コード 306 は予約済みであるため、Apigee Edge にレスポンスを送信している間、バックエンド サーバーがこのステータス コードを使用しないようにします。
|
|
|
プレイブック |
protocol.http.ResponseWithBody |
|
プレイブック |
protocol.http.TooBigBody |
|
502 Bad Gateway |
|
Body buffer overflow |
|
このエラーは、Apigee Edge への HTTP リクエストの一部としてクライアント アプリケーションによって送信されたペイロード サイズが、Apigee Edge で許可されている上限を超えている場合に発生します。 |
|
Apigee Edge の上限 |
|
ハンドブック |
|
|
502 Bad Gateway |
|
response headers size exceeding {limit} |
|
このエラーは、Apigee Edge への HTTP レスポンスの一部としてバックエンド サーバーから送信されたすべてのレスポンス ヘッダーの合計サイズが、Apigee Edge で許可されている上限を超えている場合に発生します。 |
|
Apigee Edge の制限 |
|
プレイブック |
protocol.http.TooBigLine |
|
502 Bad Gateway |
|
response line size exceeding {limit} |
|
このエラーは、Apigee Edge への HTTP レスポンスの一部としてバックエンド サーバーによって送信されたレスポンス ラインのサイズが、Apigee Edge で許可されている上限を超えている場合に発生します。 |
|
Apigee Edge の上限 |
|
ハンドブック |
protocol.http.UnsupportedEncoding |
|
プレイブック |
security.util.*
|
|
security.util.KeyAliasNotFound |
|
500 Internal Server Error |
|
KeyAlias {KeyAlias_name} is not found in
Keystore {Keystore_Name} |
|
このエラーは、TargetEndpoint または TargetServer で参照されている特定の KeyAlias が、特定のキーストアで見つからない場合に発生します。
|
|
修正
TargetEndpoint または TargetServer で指定された KeyAlias が存在し、それが特定のキーストアの一部であることを確認します。
|
security.util.TrustStoreWithNoCertificates |
|
500 Internal Server Error |
|
TrustStore {truststore_name} has no certificates |
|
このエラーは、TargetEndpoint または TargetServer で参照されている特定のトラストストアに証明書が含まれていない場合に発生します。
|
|
修正
バックエンド サーバーの証明書を検証し、TargetEndpoint または TargetServer でトラストストアを使用する場合は、トラストストアにバックエンド サーバーの有効な証明書が含まれていることを確認します。
|