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 요청을 시도하는 특정 환경에 배포되지 않음
하나 이상의 메시지 프로세서에 배포되지 않음
API 요청을 보내려는 특정 환경이 하나 이상의 메시지 프로세서에 로드되지 않음
플레이북
여러 가상 호스트에 동일한 호스트 별칭과 포트 번호가 있는 경우에도 이 오류가 발생할 수 있습니다.
플레이북
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 모니터링, NGINX 액세스 로그 또는 분석 데이터베이스에서 볼 수 있습니다.
messaging.adaptors.http.flow.GatewayTimeout
504 Gateway Timeout
Gateway Timeout
이 오류는 백엔드 서버가 메시지 프로세서에 구성된
I/O 제한 시간 내에 Apigee Edge 메시지 프로세서에 응답하지 않는 경우에 발생합니다.
플레이북
messaging.adaptors.http.flow.LengthRequired
411 Length Required
'Content-Length' is missing
이 오류는 Content-Length
헤더가 클라이언트 애플리케이션에서 Apigee Edge로 전송되는 HTTP POST
및 PUT
요청의 일부로 전달되지 않은 경우에 발생합니다.
참고: 요청을 처리하고 API 프록시에서 정책을 실행하기 훨씬 전에 매우 이른 단계에서 메시지 프로세서가 검증을 수행하므로 이 오류로 인해 실패한 요청은 Trace 도구에서 캡처할 수 없습니다.
RFC 섹션 3.3.2: 콘텐츠 길이
수정
수정
이 오류를 해결하려면 다음 단계를 수행합니다.
클라이언트 애플리케이션이 항상 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
이 오류는 메시지 프로세서 구성요소에 구성된
I/O 제한 시간 동안 Apigee Edge 메시지 프로세서가 클라이언트 애플리케이션으로부터 요청 페이로드를 수신하지 않는 경우에 발생합니다.
수정
수정
클라이언트 애플리케이션이 Apigee Edge의 메시지 프로세서 구성요소에 구성된
I/O 제한 시간 내에 요청 페이로드를 전송하는지 확인합니다.
닫기
messaging.adaptors.http.flow.ServiceUnavailable
503 Service Unavailable
The Service is temporarily unavailable
이 오류는 다음 시나리오 중 하나에서 발생합니다.
커스텀 승인 서버에서 백엔드 서버 호스트의 DNS 확인이 잘못되어 잘못된 IP 주소로 인해 연결 오류가 발생했습니다.
다음으로 인한 연결 제한 시간 오류:
백엔드 서버의 방화벽 제한으로 인해 Apigee Edge가 백엔드 서버에 연결할 수 없습니다.
Apigee Edge와 백엔드 서버 사이에 네트워크 연결 문제가 있습니다.
대상 엔드포인트에 지정된 대상 서버 호스트가 잘못되었거나 원하지 않는 문자(예: 공백)가 있습니다.
플레이북
DNS 실패:
동영상
네트워크 연결:
동영상
이 오류는 메시지 프로세서가 백엔드 서버로 요청 페이로드를 계속 전송하는 동안 백엔드 서버에서 연결이 너무 일찍 종료될 경우에도 발생할 수 있습니다.
플레이북
messaging.adaptors.http.flow.SslHandshakeFailed
503 Service Unavailable
SSL Handshake failed {error_message}
이 오류는 다음과 같은 경우 Apigee Edge의 메시지 프로세서와 백엔드 서버 사이의 SSL 핸드셰이크 프로세스 중에 발생합니다.
Apigee Edge 메시지 프로세서의 트러스트 저장소:
백엔드 서버의 전체 인증서 체인과 일치하지 않는 인증서 체인이 포함되어 있습니다.
또는
백엔드 서버의 전체 인증서 체인을 포함하지 않는 경우
백엔드 서버에서 제공된 인증서 체인:
대상 엔드포인트에 지정된 호스트 이름과 일치하지 않는 정규화된 도메인 이름(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>
) 조건이 없습니다.
AND
ProxyEndpoint에 정의된 기본 경로 규칙이 없습니다(즉, 조건 없이 <RouteRule>
).
수정
수정
이 오류를 해결하려면 다음 안내를 따르세요.
ProxyEndpoint에 정의된 경로 규칙을 검토하고 요청과 일치하는 경로 규칙 조건이 하나 이상 있도록 수정합니다.
여러 RouteRule이 있는 경우에는 조건 없이 기본 경로 규칙을 정의하는 것이 좋습니다.
규칙은 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: 필드 순서
플레이북
400 Bad Request
Header name cannot be empty
이 오류는 클라이언트 애플리케이션에 의해 HTTP 요청의 일부로 Apigee Edge로 전송되는 헤더 이름이 비어 있는 경우에 발생합니다.
RFC 7230, 섹션 3.2: 헤더 필드
수정
수정
수정
protocol.http.InvalidPath
수정
수정
클라이언트 애플리케이션에 의해 Apigee Edge로 전송되는 HTTP 요청 URL의 경로에
RFC 3986, 섹션 3.3: 경로 에 따라 허용되지 않는 문자가 포함되지 않았는지 확인합니다.
닫기
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: 필드 순서
플레이북
502 Bad Gateway
Header name cannot be empty
이 오류는 Apigee Edge에 대한 HTTP 응답의 일부로 백엔드 서버에 의해 전송되는 헤더 이름이 비어 있는 경우에 발생합니다.
RFC 7230, 섹션 3.2: 헤더 필드
수정
protocol.http.EmptyPath
플레이북
수정
수정
protocol.http.ProxyTunnelCreationFailed
503 Service Unavailable
Proxy refused to create tunnel with response status {status code}
이 오류는 방화벽, 액세스 제어 목록 (ACL), DNS 문제, 백엔드 서버 가용성 등으로 인해 프록시 서버에 따라 Apigee Edge와 백엔드 서버 사이에 터널을 만드는 동안 발생합니다.
참고: 오류 메시지의 상태 코드 (faultstring
)는 대략적인 문제의 원인을 설명합니다.
플레이북
protocol.http.Response306Reserved
502 Bad Gateway
Response Status code 306 is reserved, so can't be used.
이 오류는 백엔드 서버가 306
상태 코드를 사용하여 Apigee Edge에 대해 응답한 경우 발생합니다.
306
상태 코드는 HTTP 사양의 이전 버전에 정의되어 있습니다. 현재 HTTP 사양에 따라 이 코드는 예약되어 있으며 사용하지 않아야 합니다.
RFC 7231, 섹션 6.3.5: 306 예약됨
수정
수정
상태 코드 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에서 트러스트 저장소를 사용하려는 경우 트러스트 저장소에 백엔드 서버의 올바른 인증서가 포함되었는지 확인합니다.
닫기