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 |
ハンドブック
動画
|
|
エラー メッセージと形式は、バックエンド サーバーの実装によって異なります。 |
|
|
このエラーは、バックエンド サーバーが 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 |
|
このエラーは、Apigee Edge Message Processor が、Message Processor コンポーネントで構成された
I/O タイムアウト期間内にクライアント アプリケーションからリクエスト ペイロードを受信しない場合に発生します。 |
|
解決方法
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 とバックエンド サーバーでキープアライブ タイムアウトが正しく構成されていない。
|
|
ハンドブック |
|
messaging.runtime.*
|
|
messaging.runtime.RouteFailed |
|
500 Internal Server Error |
|
Unable to route the message to a TargetEndpoint |
|
このエラーは、Apigee Edge がリクエストをどの TargetEndpoints にもルーティングできない場合に発生します。次の理由が考えられます。
- プロキシのリクエストに一致するルートルール(
<RouteRule> )の条件がない
および
- ProxyEndpoint にデフォルトのルートルールが定義されていない(例:
<RouteRule> 、条件なし)
|
|
修正
このエラーに対処する手順は次のとおりです。
- ProxyEndpoint で定義されたルートルールを確認し、リクエストに一致するルートルール条件が少なくとも 1 つ存在するように変更します。
- 複数の RouteRules がある場合は、条件なしでデフォルトのルートルールを定義することをおすすめします。
- ProxyEndpoint ではルールが上から下への順に評価されるため、デフォルトのルートルールが条件付きルートのリストの最後に常に定義されていることを確認してください。
ProxyEndpoint での <RouteRule> 条件の定義について詳しくは、条件付きターゲットをご覧ください。
|
messaging.runtime.SenseRaiseFault |
|
403 Forbidden |
|
Sense Fault |
|
このエラーは、Apigee Sense ルールの一部としてブロックされている特定のクライアント IP アドレスから API リクエストが行われた場合に発生します。 |
|
|
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 |
|
ハンドブック |
|
|
|
|
|
|
|
|
|
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 でトラストストアを使用する場合は、トラストストアにバックエンド サーバーの有効な証明書が含まれていることを確認します。
|