AEMaaCS의 클라이언트 IP 위치를 반영하지 않는 지리적 위치 응답 헤더

Adobe Experience Manager as a Cloud Service(AEMaaCS)의 HTTP 응답에서 지리적 위치 헤더가 실제 클라이언트 위치를 반영하지 못합니다. cdn.yaml 파일을 사용하여 지리적 위치를 구성하려고 하면 구조가 잘못되거나 예약된 헤더 이름이 사용되기 때문에 배포 오류가 발생합니다. 문제를 해결하려면 CDN 구성을 업데이트하고 유효한 IP에서 테스트합니다.

설명 description

환경

Adobe Experience Manager as a Cloud Service(AEMaaCS) - 사이트(개발)

문제/증상

  • X-AEM-Client-Country과(와) 같은 지리적 위치 헤더가 자리 표시자 값을 반환합니다.
  • 게시 끝점의 HTTP 응답에 헤더가 표시되지 않습니다.
  • 잘못된 cdn.yaml 구조 또는 예약된 헤더 이름으로 인해 배포 오류가 발생합니다.
  • 응답에는 스페인어 IP 주소의 예상 국가가 반영되지 않습니다.

해결 방법 resolution

문제를 해결하려면 다음 단계를 수행합니다.

  1. cdn.yaml 파일이 Cloud Manager Git 저장소의 /config/cdn.yaml에 있는지 확인하십시오. 경로에 추가 하위 폴더나 오타가 없도록 합니다.

  2. cdn.yaml과(와) 같은 예약된 접두사 대신 사용자 지정 헤더 이름을 사용하도록 x-aem- 파일을 편집합니다. 예를 들어 Client-Country을(를) 사용하고 다음과 같이 변환 규칙을 정의합니다.

    code language-none
    kind: "CDN"
       version: "1"
       metadata:
       envTypes: \[ "dev"]
       data:
       responseTransformations:
       rules:
       * name: add-country-header
         when: "\*"
         actions:
         * type: set
           respHeader: "Client-Country"
           value: "{reqHeader:x-aem-client-country}"
           \
    
  3. Cloud Manager을 사용하여 변경 사항을 커밋하고 구성을 배포합니다. 파이프라인이 YAML 구문 또는 헤더 이름 지정 오류 없이 완료되는지 확인합니다.

  4. 대상 국가(예: 스페인)의 IP 주소가 있는 VPN 또는 외부 네트워크를 사용하여 설정을 테스트합니다. 이렇게 하면 CDN이 IP를 기반으로 정확한 지리적 위치 헤더를 HTTP 응답에 주입합니다.

  5. 게시 끝점에서 DNS 조회를 실행하여 Adobe의 CDN을 통해 라우팅되는지 확인합니다. 그런 다음 verbose curl -I -v <publish-url> 명령을 사용하여 x-cache 또는 via과(와) 같은 CDN 관련 헤더를 확인합니다.

  6. 변환 전에 중간 시스템(예: 디스패처 또는 캐싱 레이어)에서 필요한 헤더를 분리하지 마십시오.

문제가 지속되면 파이프라인 로그에서 오류 또는 경고를 확인하고 요청의 IP 주소를 확인하십시오. 중간 시스템이 헤더 주입 또는 변형을 방해하는지 여부를 더 조사합니다.

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