Apigee Edge 문서입니다.
Go to the
Apigee X documentation. info
증상
클라이언트 애플리케이션은 API 호출에 대한 응답으로 "게이트웨이 시간 초과" 메시지와 함께 HTTP 상태 코드 504를 수신합니다.
이 오류 응답은 API 호출을 실행하는 동안 클라이언트가 Apigee Edge 또는 백엔드 서버로부터 적시에 응답을 받지 못했음을 나타냅니다.
오류 메시지
클라이언트 애플리케이션은 다음 응답 코드를 수신합니다.
HTTP/1.1 504 Gateway Timeout
이 코드 뒤에는 아래와 유사한 오류 메시지가 올 수 있습니다.
<html> <head><title>504 Gateway Timeout</title></head> <body bgcolor="white"> <center><h1>504 Gateway Timeout</h1></center> </body> </html>
게이트웨이 시간 초과의 원인은 무엇인가요?
Apigee Edge를 통해 이루어진 API 요청의 일반적인 경로는 아래 그림과 같이 클라이언트 -> 라우터 -> 메시지 프로세서 -> 백엔드 서버 입니다.

클라이언트 애플리케이션, 라우터, 메시지 프로세서는 적절한 제한 시간 값으로 구성됩니다. Apigee Edge는 제한 시간 값을 기반으로 하는 기간 내에 모든 API 요청에 대한 응답을 예상합니다. 지정된 기간 내에 응답이 수신되지 않으면 504 게이트웨이 시간 초과 응답이 반환됩니다.
가능한 원인
Apigee Edge에서 백엔드 서버의 504 게이트웨이 시간 초과 응답의 일반적인 원인은 다음과 같습니다.
| 원인 | 설명 | 문제 해결 안내 |
|---|---|---|
| 504 게이트웨이 시간 초과로 응답하는 백엔드 서버 | 백엔드 서버의 제한 시간이 초과되고 메시지 프로세서에 504 게이트웨이 시간 초과 응답이 반환됩니다. | Edge Private 및 Public Cloud 사용자 |
504 게이트웨이 시간 초과로 응답하는 백엔드 서버
백엔드 서버는 HTTP 응답 코드 504 게이트웨이 시간 초과로 응답할 수 있습니다.
진단
이 섹션에서는 504 게이트웨이 시간 초과를 올바르게 진단하는 방법을 설명합니다. Private Cloud 사용자와 Public Cloud 사용자 모두를 위한 절차가 나열되어 있습니다.
절차 1: Trace 사용 (Private 및 Public Cloud 사용자)
- 영향을 받는 API의 Apigee UI에서 Trace를 사용 설정합니다.
- 백엔드 서버에 요청을 보냅니다.
- 실패한 API 요청이 Trace에서 백엔드 서버의 504 응답을 표시하는 경우 504 게이트웨이 시간 초과의 원인은 백엔드 서버입니다.
- 응답 시간을 확인하려면 Trace에서 대상 서버에서 수신한 응답
단계를 클릭합니다. 표시된 예에서 경과 시간은 60004ms입니다.

단계 세부정보 섹션에서는 추가 정보를 제공합니다.
- 백엔드 서버에서 수신한 504 게이트웨이 시간 초과 응답을 강조표시합니다.
- 응답 콘텐츠 섹션에는 백엔드 서버의 응답 본문이 전체적으로 표시됩니다. 앞서 언급한 것처럼 응답 페이로드의 형식과 콘텐츠는 백엔드 서버 구현에 따라 다를 수 있습니다.
- 응답 헤더 > 서버 섹션은 응답이 시작된 위치를 나타낼 수 있습니다.
- 애널리틱스 데이터를 보고 진단을 확인하려면 아래 그림과 같이 Trace에서 기록된 애널리틱스 데이터
단계를 클릭합니다.

단계 세부정보의 응답 헤더 섹션에는
X-Apigee-fault-code및X-Apigee-fault-source의 값이 아래 그림과 같이 표시됩니다.
이러한 필드에 아래 표에 표시된 값이 포함되어 있으면 504 오류 응답이 백엔드 서버에서 발생한 것입니다.
응답 헤더 값 X-Apigee-fault-source 대상 X-Apigee-fault-code messaging.adaptors.http.flow.ErrorResponseCode - 프록시 체이닝을 확인합니다. 백엔드 서버가 Apigee에서 다른 프록시를 호출하는지 확인하려면 다음 단계를 따르세요.
절차 2: 백엔드 서버 API 직접 호출 (Public 및 Private Cloud 사용자)
Apigee Edge를 통해 요청이 이루어질 때 발생하는 동일한 504 게이트웨이 시간 초과 응답 동작을 확인하려면 백엔드 서버를 직접 호출합니다.
- 요청의 일부로 백엔드 서버에 전달하는 데 필요한 모든 필수 헤더, 쿼리 매개변수, 사용자 인증 정보가 있는지 확인합니다.
- 백엔드 서비스에 공개적으로 액세스할 수 있는 경우
curl명령어, Postman 또는 기타 REST 클라이언트를 사용하여 백엔드 서버 API를 직접 호출할 수 있습니다. - 백엔드 서버에 메시지 프로세서에서만 액세스할 수 있는 경우
curl명령, Postman 또는 기타 REST 클라이언트를 사용하여 메시지 프로세서에서 백엔드 서버 API를 직접 호출합니다. - 백엔드 서비스가 504 게이트웨이 시간 초과 응답을 반환하면 해결 방법으로 진행합니다.
절차 3: NGINX 액세스 로그 확인 (Private Cloud 사용자만 해당)
NGINX 액세스 로그는 504 오류 응답이 백엔드 서버에서 전송되었는지 확인하는 데 도움이 될 수 있습니다. 이 방법은 문제가 이전에 발생한 적이 있거나 간헐적으로 발생하여 Trace에서 캡처할 수 없는 경우에 특히 유용합니다. 다음 단계에 따라 NGINX 액세스 로그를 확인합니다.
- 이 명령어를 사용하여 NGINX 액세스 로그를 봅니다.
/opt/apigee/var/log/edge-router/nginx/ ORG ~ENV.PORT# _access_log
- 영향을 받는 API 프록시에 대한 504 오류 응답을 확인합니다. 문제가 이전에 발생한 경우 특정 기간을 확인하거나 요청이 여전히 504 오류 응답으로 실패하는지 확인할 수 있습니다.
- 504 오류 응답이 있는 경우 오류 응답이 백엔드 서버에서 발생한 것인지 확인합니다.
- 영향을 받는 API 프록시를 검토하여 프록시 체이닝 즉, 백엔드 서버/대상 엔드포인트가 Apigee에서 다른 프록시를 호출하는지 확인합니다. API 프록시가 프록시 체이닝 을 사용하는 경우 체이닝된 각 프록시에 대해 위의 단계를 반복하여 504 게이트웨이 시간 초과 오류 응답의 원인을 진단합니다. 다른 단계에서 체이닝된 프록시에 발생하는 504 게이트웨이 시간 초과는 이 플레이북을 사용하여 진단할 수 있습니다.
- 프록시 체이닝이 없고 504 오류 응답이 백엔드 서버에서 발생한 경우 해결 방법으로 진행합니다.
아래 그림은 대상 서버로 인해 발생한 504 오류 응답을 보여주는 NGINX 로그 항목의 예입니다.

X-Apigee-fault-source 및 X-Apigee-fault-code 필드에 아래 표에 표시된 값이 포함되어 있으면 504 응답이 백엔드 서버에서 발생한 것입니다.
| 응답 헤더 | 값 |
|---|---|
| X-Apigee-fault-source | 대상 |
| X-Apigee-fault-code | messaging.adaptors.http.flow.ErrorResponseCode |
절차 4: API 모니터링 사용 (Public Cloud 사용자만 해당)
API 모니터링을 사용하면 문제 영역을 빠르게 격리하여 오류, 성능, 지연 시간 문제 및 개발자 앱, API 프록시, 백엔드 대상, API 플랫폼과 같은 원인을 진단할 수 있습니다.
API 모니터링을 사용하여 API의 5xx 문제를 해결하는 방법을 보여주는 샘플 시나리오 를 단계별로 설명합니다. 예를 들어, 504 상태 코드 수가 특정 기준점을 초과할 때 관리자에게 알리도록 알림을 설정합니다.
로 설정합니다.해결 방법
위에 설명된 진단 절차를 사용하여 백엔드 서버팀과 협력하여 백엔드 서버의 문제를 해결할 수 있습니다. 여기에는 백엔드 서버의 제한 시간 또는 대상 서버 앞에 있는 부하 분산기의 제한 시간 조정이 포함될 수 있습니다.
진단 정보 수집
문제가 지속되면 다음 진단 정보를 Apigee 지원팀과 공유하세요.
Public Cloud 사용자인 경우 다음 정보를 제공하세요.
- 조직 이름
- 환경 이름
- API 프록시 이름
- 504 오류 응답을 재현하는 데 사용된 전체
curl명령어 - 504 게이트웨이 시간 초과 오류 응답을 수신하는 API 요청이 포함된 Trace 파일
Private Cloud 사용자인 경우 다음 정보를 제공하세요.
- 실패한 요청에 대해 관찰된 전체 오류 메시지
- 환경 이름
- API 프록시 번들
- 504 게이트웨이 시간 초과 오류 응답을 수신하는 API 요청이 포함된 Trace 파일
- NGINX 액세스 로그
/opt/apigee/var/log/edge-router/nginx/ ORG ~ENV.PORT# _access_log
- 메시지 프로세서 로그
/opt/apigee/var/log/edge-message-processor/logs/system.log