ランタイム エラー カタログ

このページの内容は ApigeeApigee ハイブリッドに該当します。

Apigee Edge のドキュメントを表示します。

Apigee でのエラー

Apigee を介して API リクエストが行われると、Apigee コンポーネントの Router と Message Processor またはバックエンド サーバーが、クライアント アプリケーションにエラーを返すことができます。

Message Processor からのエラー

Message Processor は、ポリシーを処理し、バックエンド サーバーとやり取りする Apigee のコア コンポーネントです。次のような問題が検出された場合は、エラーが返されることがあります。

  • ネットワーク接続の問題、TLS handshake の失敗、バックエンド サーバーを使用できない、バックエンド サーバーとの通信中のレスポンスの欠如
  • ポリシー実行時の障害
  • 無効な HTTP ヘッダー、エンコード、パス、HTTP 仕様に準拠していない、製品の制限を超えているなど
    • クライアント アプリケーションから送信された HTTP リクエストを使用
    • または

    • バックエンド サーバーによって送信された HTTP レスポンスを使用
  • その他

Message Processor からのエラーの例

Message Processor では、常に HTTP ステータス コードとエラー メッセージに加えて、次のような JSON 形式のエラーコードが返されます。

クライアント アプリケーションは、次の例のようなレスポンス コードを取得します。

  HTTP/1.1 504 Gateway Timeout

Message Processor からのエラー レスポンスは次の形式で表示されます。

{
  "fault": {
    "faultstring": "Gateway Timeout",
    "detail": {
      "errorcode": "messaging.adaptors.http.flow.GatewayTimeout"
      "reason": "TARGET_READ_TIMEOUT"
    }
  }
}

エラー レスポンスのフィールドの説明:

フィールド 説明
faultstring 考えられるエラー原因を示すエラー メッセージが含まれます。
errorcode エラーに関連付けられているエラーコード(障害コードとも呼ばれます)
reason 考えられるエラー原因を示すメッセージが含まれます

ランタイム エラー カタログ

このエラーカタログには、Apigee Message Processor コンポーネントから返されるランタイム エラーコード(ポリシー以外のエラー)について知っておくべきすべての情報が含まれています。各エラーコードについて、次の情報が含まれています。

  • HTTP ステータス コード
  • エラー メッセージ
  • エラーの理由(すべてのエラー メッセージに reason が表示されるわけではありません)
  • 考えられるエラー原因
  • 関連する HTTP 仕様やプロダクトの制限
  • エラーの原因を診断する手順と、エラーを自分で解決するために適用できる効果的な解決策(利用可能な場合)が記載されているハンドブックと動画
  • ご自身によるエラー解決策

次のエラーコード カテゴリが対象となります。

下の [検索] ボックスを使って表をフィルタリングすれば、特定のエラーコードについて上記の情報を確認できます。表内の任意のフィールドのステータス コードまたはコンテンツを検索できます。

エラーコード 説明 修正

flow.*

flow.APITimedOut

  • HTTP ステータス コード:
504 Gateway Timeout
  • エラー メッセージ:
API timed out
  • 考えられる原因:

このエラーは、次の場合に発生します。

  • バックエンド サーバーからの応答が、特定の API プロキシのプロパティ api.timeout で構成されているタイムアウト期間内に戻ってこない。
  • オペレーションの計算負荷が高い、あるいは高負荷、低パフォーマンスな状態にあるため、ポリシーの実行に時間がかかっている。

flow.SharedFlowNotFound

  • HTTP ステータス コード:
500 Internal Server Error
  • エラー メッセージ:
Shared Flow {shared_flow_name} Not Found
  • 考えられる原因:

このエラーは、特定の共有フローが次の場合に発生します。

  • 存在しない
  • または

  • 存在するがデプロイされていない

messaging.adaptors.http.flow

messaging.adaptors.http.flow.DecompressionFailureAtRequest

  • HTTP ステータス コード:
400 Bad Request
  • エラー メッセージ:
Decompression failure at request
  • 理由:

CLIENT_READ_CONTENT_NOT_IN_GZIP_FORMAT

  • 考えられる原因:

このエラーは、次の場合にのみ発生します。

  • HTTP リクエスト ヘッダー Content-Encoding で指定されたエンコードが有効であり、Apigee でサポートされている。
  • ただし

  • HTTP リクエストの一部としてクライアントから送信されるペイロードの形式が、Content-Encoding ヘッダーで指定されたエンコード形式と一致していない

messaging.adaptors.http.flow.DecompressionFailureAtResponse

  • HTTP ステータス コード:
502 Bad Gateway
  • エラー メッセージ:
Decompression failure at response
  • 理由:

TARGET_READ_CONTENT_NOT_IN_GZIP_FORMAT

TARGET_READ_INCORRECT_HEADER_CHECK

  • 考えられる原因:

このエラーは、次の場合にのみ発生します。

  • バックエンド / ターゲット サーバーの HTTP レスポンス ヘッダー Content-Encoding で指定されたエンコードが有効で、Apigee によってサポートされている
  • ただし

  • HTTP レスポンスの一部としてバックエンド / ターゲット サーバーによって送信されるペイロード形式が、Content-Encoding ヘッダーで指定されたエンコード形式と一致していない

messaging.adaptors.http.flow.ErrorResponseCode

  • HTTP ステータス コード:
500

  • エラー メッセージ:
エラー メッセージと形式は、バックエンド サーバーの実装によって異なります。
  • 考えられる原因:
このエラーは、バックエンド サーバーがステータス コード 500 で Apigee に応答した場合に発生します。
  • HTTP ステータス コード:
503
  • エラー メッセージ:
エラー メッセージと形式は、バックエンド サーバーの実装によって異なります。
  • 考えられる原因:
このエラーは、バックエンド サーバーがステータス コード 503 で Apigee に応答した場合に発生します。
  • HTTP ステータス コード:
504
  • エラー メッセージ:
エラー メッセージと形式は、バックエンド サーバーの実装によって異なります。
  • 考えられる原因:
このエラーは、バックエンド サーバーがステータス コード 504 で Apigee に応答した場合に発生します。

注: エラーコード messaging.adaptors.http.flow.ErrorResponseCode はクライアント アプリケーションに送信されるエラー メッセージの一部として返されません。このエラーコードは、バックエンド サーバーがエラーと 4XX ステータス コードまたは 5XX ステータス コードのいずれかで応答するたびに設定されるためです。このエラーコードは、API Monitoring または分析データベースで確認できます。

messaging.adaptors.http.flow.GatewayTimeout

  • HTTP ステータス コード:
504 Gateway Timeout
  • エラー メッセージ:
Gateway Timeout
  • 理由:
TARGET_READ_TIMEOUT
  • 考えられる原因:
このエラーは、Message Processor で構成された I/O タイムアウト期間内にバックエンド サーバーが Apigee Message Processor に応答しない場合に発生します。

messaging.adaptors.http.flow.LengthRequired

  • HTTP ステータス コード:
411 Length Required
  • エラー メッセージ:
'Content-Length' is missing
  • 理由:
CLIENT_REQUEST_CONTENT_LENGTH_REQUIRED
  • 考えられる原因:

このエラーは、Apigee に送信される HTTP POST リクエストおよび PUT リクエストの一部として、クライアント アプリケーションから Content-Length ヘッダーが渡されない場合に発生します。

注: このエラーによって失敗したリクエストは、Trace ツールでキャプチャできません。これは、Message Processor が、リクエストを処理し、API プロキシで任意のポリシーを実行するよりかなり前の段階でこの検証を行うためです。

  • HTTP の仕様:
RFC セクション 3.3.2: Content-Length

修正

このエラーに対処する手順は次のとおりです。

  1. クライアント アプリケーションが、Apigee に送信される HTTP POST および PUT リクエストの一部として、ヘッダー Content-Length を常に渡すようにします。例:

    curl -X POST https://HOSTALIAS/PATH -d '{"name": "abc"}' -H "Content-Length: 15"
    
  2. POST リクエストと PUT リクエストで空のペイロードを渡す場合でも、ヘッダー Content-Length: 0 が渡されるようにしてください。例:

    curl -X POST https://HOSTALIAS/PATH -H "Content-Length: 0"
    

messaging.adaptors.http.flow.NoActiveTargets

  • HTTP ステータス コード:
503 Service Unavailable
  • エラー メッセージ:
The Service is temporarily unavailable
  • 理由:

TARGET_HEALTHCHECK_CONNECT_TIMEOUT

TARGET_HEALTHCHECK_CONNECTION_REFUSED

TARGET_HEALTHCHECK_HTTPS_REQUEST_OVER_HTTP

TARGET_HEALTHCHECK_UNEXPECTED_EOF

  • 考えられる原因:

このエラーは、Apigee で TargetServer を使用している場合に、次のいずれかのシナリオで発生します。

  1. カスタム認証サーバーによるバックエンド サーバーホストの DNS 解決が正しくないと、接続エラーにつながる IP アドレスの不具合が生じる。
  2. 次の原因による接続タイムアウト エラー:
    1. バックエンド サーバーのファイアウォール制限により、Apigee がバックエンド サーバーに接続できない。
    2. Apigee とバックエンド サーバー間のネットワーク接続の問題。
  3. TargetServer で指定されたホストが正しくないか、不要な文字(スペースなど)が含まれている。
このエラーは、ターゲット サーバーのヘルスチェックをモニタリングするように構成されたヘルスチェックが失敗した場合にも発生することがあります。

messaging.adaptors.http.flow.RequestTimeOut

  • HTTP ステータス コード:
408 Request Timeout
  • エラー メッセージ:
Request timed out
  • 理由:
CLIENT_READ_TIMEOUT
  • 考えられる原因:
このエラーは、Message Processor コンポーネントで構成された I/O タイムアウト期間中に、Apigee Message Processor がクライアント アプリケーションからリクエスト ペイロードを受信しない場合に発生します。

修正

クライアント アプリケーションが、Apigee の Message Processor コンポーネントに構成された I/O タイムアウト期間内にリクエスト ペイロードを送信するようにします。

messaging.adaptors.http.flow.ServiceUnavailable

  • HTTP ステータス コード:
503 Service Unavailable
  • エラー メッセージ:
The Service is temporarily unavailable
  • 理由:

TARGET_CONNECT_TIMEOUT

TARGET_WRITE_BROKEN_PIPE

TARGET_WRITE_CONNECTION_RESET_BY_PEER

TARGET_CONNECT_CONNECTION_REFUSED

  • 考えられる原因:

このエラーは、次のいずれかのシナリオで発生します。

  1. カスタム認証サーバーによるバックエンド サーバーホストの DNS 解決が正しくないと、接続エラーにつながる IP アドレスの不具合が生じる。
  2. 次の原因による接続タイムアウト エラー:
    1. バックエンド サーバーのファイアウォール制限により、Apigee がバックエンド サーバーに接続できない。
    2. Apigee とバックエンド サーバー間のネットワーク接続の問題。
  3. ターゲット エンドポイントで指定されたターゲット サーバー ホストが正しくないか、不要な文字(スペースなど)が含まれている。
また、Message Processor がバックエンド サーバーにリクエスト ペイロードを送信している間に、バックエンド サーバーが接続を早期に閉じた場合にも、このエラーが発生することがあります。

messaging.adaptors.http.flow.SslHandshakeFailed

  • HTTP ステータス コード:
503 Service Unavailable
  • エラー メッセージ:
SSL Handshake failed {error_message}
  • 考えられる原因:

このエラーは、Apigee の Message Processor とバックエンド サーバー間の SSL handshake プロセス中に、次の条件に当てはまった場合に発生します。

  1. Apigee の Message Processor のトラストストア:
    • バックエンド サーバーの完全な証明書チェーンと一致しない証明書チェーンがある
    • または

    • バックエンド サーバーの完全な証明書チェーンが含まれていない
  2. バックエンド サーバーによって提示される証明書チェーン:
    • ターゲット エンドポイントで指定されたホスト名と一致しない完全修飾ドメイン名(FQDN)が含まれている
    • または

    • 不正確 / 不完全な証明書チェーンが含まれている
  3. バックエンド サーバーが Apigee で使用されている TLS バージョンを拒否する。

    たとえば、バックエンド サーバーが TLS バージョン 1.3 のみを受け入れており、Apigee 側のターゲット サーバーの TLS Protocol フィールドに TLS バージョン 1.2 が設定されている場合(または TLS バージョンがまったく設定されていない場合。この場合、Apigee は現在、デフォルトとして TLS バージョン 1.3 を使用しません)、プロトコル バージョンの不一致により接続が失敗します。

messaging.adaptors.http.flow.UnexpectedEOFAtTarget

  • HTTP ステータス コード:
502 Bad Gateway
  • エラー メッセージ:
Unexpected EOF at target
  • 理由:
TARGET_READ_UNEXPECTED_EOF
  • 考えられる原因:

このエラーは、次のいずれかのシナリオで発生します。

  1. TargetServer が、Apigee で TLS / SSL 接続をサポートするように正しく構成されていない。
  2. Apigee がバックエンド サーバーからのレスポンスを待機している間、バックエンド サーバーが接続を突然閉じることがあります。
  3. Apigee とバックエンド サーバーでキープアライブ タイムアウトが正しく構成されていない。

messaging.runtime.*

messaging.runtime.RouteFailed

  • HTTP ステータス コード:
500 Internal Server Error
  • エラー メッセージ:
Unable to route the message to a TargetEndpoint
  • 考えられる原因:

このエラーは、次の理由により Apigee がどの TargetEndpoint にもリクエストをルーティングできない場合に発生します。

  • プロキシのリクエストに一致するルートルール(<RouteRule>)の条件がない
  • および

  • ProxyEndpoint にデフォルトのルートルールが定義されていない(例: <RouteRule>、条件なし)

修正

このエラーに対処する手順は次のとおりです。

  1. ProxyEndpoint で定義されたルートルールを確認し、リクエストに一致するルートルール条件が少なくとも 1 つ存在するように変更します。
  2. 複数の RouteRules がある場合は、条件なしでデフォルトのルートルールを定義することをおすすめします。
  3. ProxyEndpoint ではルールが上から下への順に評価されるため、デフォルトのルートルールが条件付きルートのリストの最後に常に定義されていることを確認してください。

ProxyEndpoint での <RouteRule> 条件の定義について詳しくは、条件付きターゲットをご覧ください。

protocol.http.* - Caused due to bad request

protocol.http.BadFormData

  • HTTP ステータス コード:
500 Internal Server Error
  • エラー メッセージ:
Bad Form Data
  • 考えられる原因:

このエラーは、次のすべての条件が満たされた場合にのみ発生します。

  1. クライアントが Apigee に送信する HTTP リクエストに以下が含まれる。
    • Content-Type: application/x-www-form-urlencoded、および
    • パーセント記号(%)付き、またはパーセント記号(%)の後にフォーム - セクション 17.13.4.1 によって許可されていない無効な 16 進数文字が続くフォームデータ。
  2. Apigee の API プロキシは、リクエスト フローで ExtractVariables ポリシーまたは AssignMessage ポリシーを使用して、許可されていない文字を含む特定のフォーム パラメータを読み取ります。

protocol.http.DuplicateHeader

  • HTTP ステータス コード:
400 Bad Request
  • エラー メッセージ:
Duplicate Header "{header_name}"
  • 考えられる原因:
このエラーは、Apigee で重複が許可されてない特定の HTTP ヘッダーが、クライアント アプリケーションから Apigee に送信される HTTP リクエストの一部と同じ値または異なる値で複数回表示される場合に発生します。
  • HTTP の仕様:
RFC 7230、セクション 3.2.2: Field Order

protocol.http.EmptyHeaderName

  • HTTP ステータス コード:
400 Bad Request
  • エラー メッセージ:
Header name cannot be empty
  • 考えられる原因:
このエラーは、クライアント アプリケーションによる Apigee への HTTP リクエストの一部として送信されたヘッダー名が空である場合に発生します。
  • HTTP の仕様:
RFC 7230、セクション 3.2: Header Fields

修正

クライアント アプリケーションから Apigee に送信される HTTP リクエストに、有効なヘッダー名が常に含まれていることを確認します(RFC 7230 のセクション 3.2: Header Fields に準拠)。

protocol.http.HeaderNameWithNonAsciiChar

  • HTTP ステータス コード:
400 Bad Request
  • エラー メッセージ:
Header {header_name} contains non ascii character {character}
  • 考えられる原因:
このエラーは、クライアント アプリケーションから Apigee への HTTP リクエストの一部として送信されたヘッダー名に、ASCII 以外の文字が含まれている場合に発生します。
  • HTTP の仕様:

RFC 7230、セクション 3.2: Header FieldsRFC 7230、セクション 3.2.6: Field Value Components

修正

Apigee に送信されるクライアントの HTTP リクエストで、ヘッダー名に ASCII 以外の文字が含まれていないことを確認します(RFC 7230 のセクション 3.2.6: Field Value Components に準拠)。

protocol.http.HeaderWithInvalidChar

  • HTTP ステータス コード:
400 Bad Request
  • エラー メッセージ:
Header {header_name} contains invalid character {character}
  • 考えられる原因:
このエラーは、クライアント アプリケーションから Apigee への HTTP リクエストの一部として送信されたヘッダー名に、無効な文字(等号(=)、カンマ(,)、セミコロン(;)、タブ、CRLF、改行文字など)が含まれる場合に発生します。
  • HTTP の仕様:

RFC 7230、セクション 3.2: Header FieldsRFC 7230、セクション 3.2.6: Field Value Components

修正

クライアント アプリケーションから Apigee に送信される HTTP リクエストのヘッダー名に、無効な文字が含まれていないことを確認します(RFC 7230、セクション 3.2.6: Field Value Components に準拠)。

protocol.http.NoResolvedHost

  • HTTP ステータス コード:
503 Service Unavailable
  • エラー メッセージ:

Unable to resolve host {hostname}

{hostname} は動的で、指定されたホスト名に対応して値が変化します。

  • 理由:
TARGET_CONNECT_HOST_NOT_REACHABLE
  • 考えられる原因:
このエラーは、指定したターゲット サーバーのホストが正しくないか、不要な文字(スペースなど)がある場合に発生します。

protocol.http.InvalidPath

  • HTTP ステータス コード:
400 Bad Request
  • エラー メッセージ:
Invalid path {path}
  • 考えられる原因:
このエラーは、クライアント アプリケーションから Apigee に送信される HTTP リクエストの URL のパスに、仕様の RFC 3986 のセクション 3.3: Path で許可されていない文字が含まれている場合に発生します。
  • HTTP の仕様:

RFC 3986、セクション 3: Syntax ComponentsRFC 3986、セクション 3.3: Path

修正

クライアント アプリケーションから Apigee に送信される HTTP リクエスト URL のパスに、RFC 3986 のセクション 3.3: Path で許可されていない文字が含まれていないことを確認します。

protocol.http.TooBigBody

  • HTTP ステータス コード:
413 Request Entity Too Large
  • エラー メッセージ:
Body buffer overflow
  • 考えられる原因:
このエラーは、Apigee への HTTP リクエストの一部としてクライアント アプリケーションによって送信されたペイロード サイズが、Apigee で許可されている上限を超えている場合に発生します。
  • 上限:
Apigee に関する上限

protocol.http.TooBigHeaders

  • HTTP ステータス コード:
431 Request Header Fields Too Large
  • エラー メッセージ:
request headers size exceeding {limit}
  • 考えられる原因:
Apigee への HTTP リクエストの一部としてクライアント アプリケーションによって送信されるすべてのリクエスト ヘッダーの合計サイズが、Apigee で許可されている上限を超えている。
  • HTTP の仕様:
RFC 6585、セクション 5: 431 Request Header Fields Too Large
  • 上限:
Apigee に関する上限

protocol.http.TooBigLine

  • HTTP ステータス コード:
414 Request-URI Too Long
  • エラー メッセージ:
request line size exceeding {limit}
  • 考えられる原因:
このエラーは、Apigee への HTTP リクエストの一部としてクライアント アプリケーションによって送信されるリクエスト ラインのサイズが、Apigee で許可されている上限を超えている場合に発生します。
  • 上限:
Apigee に関する上限

protocol.http.UnsupportedEncoding

  • HTTP ステータス コード:
415 Unsupported Media
  • エラー メッセージ:
Unsupported Encoding "{encoding}"
  • 考えられる原因:
このエラーは、HTTP レスポンスの一部としてクライアントから送信された Content-Encoding ヘッダーに、Apigee でサポートされていないエンコード / ペイロード形式が含まれている場合に発生します。
  • HTTP の仕様:
RFC 7231、セクション 6.5.13: 415 Unsupported Media Type

protocol.http.* - Caused by target

protocol.http.BadPath

  • HTTP ステータス コード:
500 Internal Server Error
  • エラー メッセージ:
Invalid request path
  • 考えられる原因:
このエラーは、フロー変数 target.url で表されるバックエンド サーバーのリクエスト URL に、スラッシュ(/)の代わりに、疑問符(?)で始まるパスが含まれている場合に発生します。これは無効です。
  • HTTP の仕様:

RFC 3986、セクション 3: Syntax ComponentsRFC 3986、セクション 3.3: Path

protocol.http.DuplicateHeader

  • HTTP ステータス コード:
502 Bad Gateway
  • エラー メッセージ:
Duplicate Header "{header_name}"
  • 考えられる原因:
このエラーは、Apigee で重複が許可されていない特定の HTTP ヘッダーが、バックエンド サーバーから Apigee に送信された HTTP レスポンスの一部と同じ値または異なる値で複数回表示される場合に発生します。
  • HTTP の仕様:
RFC 7230、セクション 3.2.2: Field Order

protocol.http.EmptyHeaderName

  • HTTP ステータス コード:
502 Bad Gateway
  • エラー メッセージ:
Header name cannot be empty
  • 考えられる原因:
このエラーは、Apigee への HTTP レスポンスの一部としてバックエンド サーバーから送信されたヘッダー名が空である場合に発生します。
  • HTTP の仕様:
RFC 7230、セクション 3.2: Header Fields

修正

バックエンド サーバーから Apigee に送信される HTTP レスポンスに、有効なヘッダー名が常に含まれていることを確認します(RFC 7230 のセクション 3.2: Header Fields に準拠)。

protocol.http.EmptyPath

  • HTTP ステータス コード:
500 Internal Server Error
  • エラー メッセージ:
Request path cannot be empty
  • 考えられる原因:
このエラーは、フロー変数 target.url で表されるバックエンド サーバーの HTTP リクエスト URL に空のパスが含まれている場合に発生します。
  • HTTP の仕様:

RFC 3986、セクション 3: Syntax ComponentsRFC 3986、セクション 3.3: Path

protocol.http.HeaderNameWithNonAsciiChar

  • HTTP ステータス コード:
502 Bad Gateway
  • エラー メッセージ:
Header {header_name} contains non ascii character {character}
  • 考えられる原因:
このエラーは、Apigee Edge への HTTP レスポンスの一部としてバックエンド サーバーから送信されたヘッダー名に ASCII 以外の文字が含まれている場合に発生します。
  • HTTP の仕様:

RFC 7230、セクション 3.2: Header FieldsRFC 7230、セクション 3.2.6: Field Value Components

修正

Apigee に送信されるバックエンド サーバーの HTTP レスポンスで、ヘッダー名に ASCII 以外の文字が含まれていないことを確認します(RFC 7230 のセクション 3.2.6: Field Value Components に準拠)。

protocol.http.HeaderWithInvalidChar

  • HTTP ステータス コード:
502 Bad Gateway
  • エラー メッセージ:
Header {header_name} contains invalid character {character}
  • 考えられる原因:
このエラーは、バックエンド サーバーが HTTP レスポンスの一部として送信したヘッダー名に無効な文字(等号(=)、カンマ(,)、セミコロン(;)、タブ、CRLF、改行文字など)が含まれている場合に発生します。
  • HTTP の仕様:

RFC 7230、セクション 3.2: Header FieldsRFC 7230、セクション 3.2.6: Field Value Components

修正

Apigee に送信されるバックエンド サーバーの HTTP レスポンスで、ヘッダー名に無効な文字が含まれていないことを確認します(RFC 7230 のセクション 3.2.6: Field Value Components に準拠)。

protocol.http.ProxyTunnelCreationFailed

  • HTTP ステータス コード:
503 Service Unavailable
  • エラー メッセージ:
Proxy refused to create tunnel with response status {status code}
  • 考えられる原因:

このエラーは、プロキシ サーバーによる Apigee とバックエンド サーバー間のトンネルの作成中に、ファイアウォール、ACL(アクセス制御リスト)、DNS の問題、バックエンド サーバーの可用性などの原因により発生します。

注: エラー メッセージ(faultstring)のステータス コードに、問題の大まかな原因が示されています。

protocol.http.Response306Reserved

  • HTTP ステータス コード:
502 Bad Gateway
  • エラー メッセージ:
Response Status code 306 is reserved, so can't be used.
  • 考えられる原因:

このエラーは、バックエンド サーバーが Apigee にステータス コード 306 で応答した場合に発生します。

ステータス コード 306 は、以前のバージョンの HTTP 仕様で定義されていたものです。現行の HTTP 仕様では、このコードは予約済みであるため使用できません。

  • HTTP の仕様:
RFC 7231、セクション 6.3.5: 306 Reserved

修正

ステータス コード 306 は予約済みであるため、Apigee にレスポンスを送信している間、バックエンド サーバーがこのステータス コードを使用しないようにします。

protocol.http.Response405WithoutAllowHeader

  • HTTP ステータス コード:
502 Bad Gateway
  • エラー メッセージ:
Received 405 Response without Allow Header
  • 考えられる原因:
バックエンド サーバーが、「Allow」ヘッダーなしでステータス コード 405 Method Not Allowed を返している。
  • HTTP の仕様:

RFC 7231、セクション 6.5.5: 405 Method Not AllowedRFC 7231、セクション 7.4.1: Allow

protocol.http.ResponseWithBody

  • HTTP ステータス コード:
502 Bad Gateway
  • エラー メッセージ:
Received {status_code} Response with message body
  • 考えられる原因:

このエラーは、バックエンド サーバーから Apigee への HTTP レスポンスが 204 No Content または 205 Reset Content であるのに、レスポンスの本文や次のヘッダーが含まれている場合に発生します。

  • Content-Length
  • Content-Encoding
  • Transfer-Encoding
  • HTTP の仕様:

RFC 7231、セクション 6.3.5: 204 No ContentRFC 7231、セクション 6.3.6: 205 Reset Content

protocol.http.TooBigBody

  • HTTP ステータス コード:
502 Bad Gateway
  • エラー メッセージ:
Body buffer overflow
  • 考えられる原因:
このエラーは、Apigee への HTTP リクエストの一部としてクライアント アプリケーションによって送信されたペイロード サイズが、Apigee で許可されている上限を超えている場合に発生します。
  • 上限:
Apigee に関する上限

protocol.http.TooBigHeaders

  • HTTP ステータス コード:
502 Bad Gateway
  • エラー メッセージ:
response headers size exceeding {limit}
  • 考えられる原因:
このエラーは、Apigee への HTTP レスポンスの一部としてバックエンド サーバーから送信されたすべてのレスポンス ヘッダーの合計サイズが、Apigee で許可されている上限を超えている場合に発生します。
  • 上限:
Apigee に関する上限

protocol.http.TooBigLine

  • HTTP ステータス コード:
502 Bad Gateway
  • エラー メッセージ:
response line size exceeding {limit}
  • 考えられる原因:
このエラーは、Apigee への HTTP レスポンスの一部としてバックエンド サーバーによって送信されたレスポンス ラインのサイズが、Apigee Edge で許可されている上限を超えている場合に発生します。
  • 上限:
Apigee に関する上限

protocol.http.UnsupportedEncoding

  • HTTP ステータス コード:
415 Unsupported Media
  • エラー メッセージ:
Unsupported Encoding "{encoding}"
  • 考えられる原因:
このエラーは、HTTP レスポンスの一部としてバックエンド サーバーによって送信される Content-Encoding ヘッダーに、Apigee でサポートされていないエンコード / ペイロード形式が含まれている場合に発生します。
  • HTTP の仕様:
RFC 7231、セクション 6.5.13: 415 Unsupported Media Type

security.util.*

security.util.KeyAliasNotFound

  • HTTP ステータス コード:
500 Internal Server Error
  • エラー メッセージ:
KeyAlias {KeyAlias_name} is not found in Keystore {Keystore_Name}
  • 考えられる原因:

このエラーは、TargetEndpoint または TargetServer で参照されている特定の KeyAlias が、特定のキーストアで見つからない場合に発生します。

修正

TargetEndpoint または TargetServer で指定された KeyAlias が存在し、それが特定のキーストアの一部であることを確認します。

security.util.TrustStoreWithNoCertificates

  • HTTP ステータス コード:
500 Internal Server Error
  • エラー メッセージ:
TrustStore {truststore_name} has no certificates
  • 考えられる原因:

このエラーは、TargetEndpoint または TargetServer で参照されている特定のトラストストアに証明書が含まれていない場合に発生します。

修正

バックエンド サーバーの証明書を検証し、TargetEndpoint または TargetServer でトラストストアを使用する場合は、トラストストアにバックエンド サーバーの有効な証明書が含まれていることを確認します。