트레이스 세션의 HTTP 304 응답

Apigee Edge 문서입니다.
Go to the Apigee X 문서로 이동합니다.
info

증상

Edge for Private Cloud에서 Edge UI의 API를 추적할 때 추적 창의 상태 열에 HTTP 304 응답이 표시됩니다.

오류 메시지

오류 메시지가 없습니다. API 프록시 호출은 실제로 HTTP 200과 같은 성공 응답을 반환합니다. 하지만 Edge UI의 추적 창에 HTTP 304 응답이 표시되고 추적 데이터가 수집되지 않습니다.

가능한 원인

Edge for Private Cloud에서 Edge UI는 비공개 IP 주소로 액세스하는 API 프록시를 추적하려고 합니다.

Edge UI의 추적 도구는 모든 URL에 API 요청을 보낼 수 있습니다. Edge UI가 다른 내부 서비스와 공동 호스팅되는 배포 시나리오에서 악의적인 사용자는 추적 도구를 오용하여 localhost 또는 127.0.0.1과 같은 비공개 IP 주소를 통해 서비스에 요청을 보낼 수 있습니다.

프로덕션 환경에서는 일반적으로 사용자가 비공개 IP 주소를 추적하지 못하도록 기본값을 그대로 둡니다. 예를 들어 Edge UI 의 공개 버전이 배포되는 방식입니다.

하지만 내부 개발 또는 테스트 환경에서는 이 기본값을 재정의하여 API 개발자가 모든 IP 주소를 추적하도록 허용할 수 있습니다. 일반적으로 개발/테스트 환경은 공개 액세스를 허용하지 않는 방화벽 뒤에 있습니다.

참고: 개발/테스트 환경에서도 비공개 IP 주소에 대한 추적 액세스를 방지하기 위해 기본값을 그대로 두는 것이 좋습니다. 단, 사용 설정해야 하는 상황이 발생하지 않는 한 말입니다.

원인: 비공개 IP 주소를 통해 API 프록시에 액세스하려고 시도함

기본적으로 Edge for Private Cloud용 Edge UI는 사용자가 비공개 IP 주소를 통해 이루어진 API 호출을 추적하지 못하도록 합니다. 비공개 IP 주소 목록에는 다음이 포함됩니다.

  • 루프백 주소 (127.0.0.1 또는 localhost)
  • 사이트 로컬 주소 (IPv4의 경우 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
  • 모든 로컬 주소 (localhost로 확인되는 모든 주소)

예를 들어 다음 curl 명령어는 비공개 IP 주소로 간주되는 127.0.0.1의 IP 주소를 사용하여 API 프록시를 호출합니다.

curl http://127.0.0.1:9001/myapiproxy

curl 명령어가 성공을 반환하더라도 이 호출의 추적 창에 HTTP 304 응답이 표시됩니다.

해결 방법

Edge UI에서 Edge for Private Cloud의 비공개 IP 주소를 추적하도록 하려면 ui.properties에서 다음 토큰을 설정합니다.

conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"

이 속성을 설정하려면 다음 단계를 따르세요.

  1. 편집기에서 ui.properties 파일을 엽니다. 파일이 없으면 만듭니다.
    vi /opt/apigee/customer/application/ui.properties
  2. 다음 속성을 true로 설정합니다.
    conf_apigee-base_apigee.feature.enabletraceforinternaladdresses="true"
  3. ui.properties에 변경사항을 저장합니다.
  4. 속성 파일의 소유자가 'apigee' 사용자인지 확인합니다.
    chown apigee:apigee /opt/apigee/customer/application/ui.properties
  5. Edge UI를 다시 시작합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

이제 Edge UI가 추적 도구에서 비공개 IP 주소에 액세스할 수 있습니다.

나중에 UI에서 비공개 IP 주소를 통해 요청을 추적하지 못하도록 하려면 ui.properties를 수정하여 속성을 false로 설정한 후 Edge UI를 다시 시작합니다.

자세한 내용은 Edge UI에서 로컬 IP 주소에 액세스하도록 허용을 참고하세요.