AEMaaCS 오류 응답에서 X-Correlation-Id 유지(404/500)

Adobe Experience Manager as a Cloud Service에서는 X-Correlation-Id 헤더를 사용하여 AEM, Dispatcher 및 CDN 계층에서 요청을 추적합니다. 이 헤더는 성공(200 OK) 응답에 표시되지만 AEM 로그에서 설정을 확인했는데도 404 찾을 수 없음 또는 500 내부 서버 오류​와 같은 오류 응답에 누락됩니다. 기본적으로 CDN은 AEM 오류 응답을 사용자 지정 헤더를 제거하는 가상 페이지로 바꿉니다. 이렇게 하면 모니터링 및 디버깅 워크플로가 중단되어 클라이언트측 오류와 백엔드 로그의 상관 관계를 맺기 어렵습니다.

이 문제를 해결하려면 오류 응답에 x-aem-error-pass: true 헤더를 추가하십시오. 이렇게 하면 CDN에서 합성 오류 페이지를 생성하는 대신 원래 AEM 응답을 전달하여 X-Correlation-Id 헤더가 모든 응답 유형에서 보존되도록 합니다.

설명 description

환경

  • Adobe Experience Manager as a Cloud Service (AEMaaCS)
  • responseTransformations을(를) 사용하는 CDN 구성
  • 컨텍스트: AEM, Dispatcher 및 CDN에서 상관 관계 ID 또는 추적 메커니즘을 구현할 때

문제/증상

  • X-Correlation-Id 헤더가 200 OK 응답에 있지만 404 또는 500 응답에서 누락되었습니다.
  • AEM 로그에는 헤더가 설정되었지만 브라우저나 API 클라이언트에는 도달하지 않은 것으로 표시됩니다. cURL, Postman 또는 브라우저 developer tools을(를) 사용하여 요청 추적 또는 디버깅 동작의 유효성을 검사하는 동안 알 수 있습니다.
  • 상관 관계 헤더가 누락되어 모니터링 시스템에서 실패한 트랜잭션을 추적하지 못했습니다.
  • CDN 구성이 오류 응답에서 헤더를 표시하지 않는 것으로 나타납니다.

해결 방법 resolution

AEM의 원래 오류 응답 및 해당 헤더가 클라이언트에 도달할 수 있도록 하려면 다음을 수행하십시오.

  • 오류 응답에 헤더 x-aem-error-pass: true을(를) 포함하도록 AEM 오류 처리기를 구성합니다.

  • 이렇게 하면 CDN이 합성 오류 페이지 생성을 무시하고 원래 AEM 또는 Dispatcher 응답(해당 헤더 포함)을 클라이언트에 직접 전달합니다.

  • 이 변경 사항을 적용한 후:

    • X-Correlation-Id 헤더가 성공한 응답과 실패한 응답 모두에 나타납니다.
    • 클라이언트측 모니터링 도구는 전체 요청 라이프사이클을 정확하게 추적할 수 있습니다.

추가 고려 사항:

  • 보안 및 규정 준수: 프로덕션에서 이 헤더를 활성화하기 전에 오류 페이로드가 민감한 내부 세부 정보를 노출하지 않도록 하십시오.
  • 범위: 이 동작은 AEM 또는 Dispatcher에서 생성된 응답에만 적용됩니다. CDN 수준 오류는 여전히 가상 페이지를 제공합니다.
  • 일반적인 오해: responseTransformations은(는) 합성 오류 응답에서 헤더를 다시 삽입할 수 없습니다.
  • 테스트 팁: curl -i -v 또는 브라우저 개발자 도구를 사용하여 수정 사항을 적용하기 전과 후에 헤더 유무를 확인하십시오. 예, -i -v https:///path-that-triggers-error

모범 사례 권장 사항:

  • 항상 백엔드 요청에 상관 관계 ID를 생성하고 설정합니다.
  • 로그 및 헤더에 동일한 ID를 포함합니다.
  • 특히 디버깅이나 통합 테스트 중에 전체 추적 기능이 필요한 오류 응답에 x-aem-error-pass: true을(를) 사용합니다.
  • CDN의 표준 오류 처리를 무시하지 않도록 프로덕션의 사용을 제어된 시나리오로 제한합니다.

관련 읽기

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f