AEM 도메인 및 프로토콜 구성에서 잘못되거나 중복되는 표준 및 사이트 맵 URL 해결

페이지 속성, 외부화, 요청 헤더 또는 템플릿 논리가 올바르게 구성되지 않은 경우, AEM에서 생성한 표준 태그 및 사이트 맵 URL에 잘못된 도메인, 잘못된 프로토콜, 상대 경로 또는 중복 표준 태그가 표시됩니다. 가장 일반적인 원인은 외부화 도메인 구성 누락, X-Forwarded-Proto 헤더 누락, 부적절한 Dispatcher clientheaders 규칙 또는 두 번째 표준 태그를 내보내는 템플릿 논리입니다. 페이지 속성 및 외부화 설정을 수정하고, 프로토콜 헤더가 AEM에 도달하는지 확인하고, 중복 템플릿 논리를 제거하면 올바른 표준 및 사이트 맵 URL이 복원됩니다.

설명 description

문제: AEM에서 잘못된, 중복 또는 상대적 표준 및 사이트 맵 URL을 내보냅니다.

설명

AEM의 사이트에 잘못된 표준 URL(https 대신 http, 상대 URL 또는 전체 URL 누락)이 표시되거나 절대 URL 대신 상대 URL이 포함된 사이트맵이 생성됩니다. 사용자 지정 구현이 이미 표준 태그를 생성하면 AEM에서 기본 표준 태그를 삽입하여 중복을 생성하는 경우도 있습니다. 잘못 구성된 페이지 속성, 누락된 외부화 도메인 구성, 누락된 X-Forwarded-Proto 헤더, 부적절한 디스패처 clientheaders 규칙 또는 표준 태그를 자동으로 내보내는 템플릿 수준 논리가 이러한 증상을 모두 트리거합니다.

환경:

  • Adobe Experience Manager as a Cloud Service (AEMaaCS)
  • AEM Managed Services
  • AEM 6.5 온-프레미스
  • Dispatcher 및 CDN/로드 밸런서 계층

문제/증상:

  • 정식 URL이 https:// 대신 http://(으)로 표시됨
  • 사이트 맵에는 절대 URL 대신 슬러그 또는 상대 URL만 포함되어 있습니다
  • 페이지 소스에 중복된 표준 태그가 표시됩니다.
  • AEM에서 자동 생성한 표준 태그는 전체 URL 대신 상대 경로만 표시합니다

근본 원인:

AEM은 페이지 속성, 외부화 구성, 요청 헤더(특히 X-Forwarded-Proto), 리소스 확인자 매핑 및 템플릿별 로직의 조합에서 표준 및 사이트 맵 URL을 결정합니다. 누락된 URL, 잘못 구성된 URL 또는 재정의된 URL이 있는 경우 AEM은 부정확한 URL, 중복된 URL 또는 상대 URL을 출력합니다. 일부 사이트맵 비헤이비어는 Apache Sling 사이트맵 모듈의 제한 사항이기도 합니다.

확인하는 방법

  1. 관찰된 증상을 하나의 범주(중복된 표준 태그, 잘못된 프로토콜(http), 누락된 도메인 또는 상대 URL을 생성하는 사이트 맵)에 일치시킵니다.
  2. 페이지 소스를 검사하고 존재하는 표준 태그의 수와 각 태그가 올바른 프로토콜과 도메인을 사용하는지 확인합니다.
  3. 브라우저에서 <site>.sitemap-index.xml을(를) 가져오고 항목이 절대 URL인지 또는 상대 URL인지 확인하십시오.

해결 방법 resolution

  1. 중복 또는 잘못된 표준 태그를 수정합니다. 페이지 속성 > 고급을 열고 자동 표준 생성을 제어하는 표준 URL 필드를 찾습니다. 필요에 따라 값을 지우거나 업데이트한 다음 페이지 소스를 다시 로드하고 단일 표준 태그만 남아 있는지 확인합니다. 자동 생성된 태그가 여전히 나타나면 사용자 지정 headerlibs 또는 head.html에서 두 번째 표준 태그를 추가하는 템플릿 논리를 확인하고 중복 논리를 제거하거나 사용하지 않도록 설정하십시오.

  2. 잘못된 프로토콜을 사용하는 표준 URL을 수정합니다. CDN 또는 로드 밸런서가 헤더를 전송하는지 확인합니다.

    code language-none
    X-Forwarded-Proto: https
    

브라우저 DevTools 또는 curl을(를) 사용하여 들어오는 요청 헤더를 검사하여 헤더가 있는지 확인합니다. 누락된 경우 CDN 또는 로드 밸런서 규칙을 업데이트합니다.
​3. AEMaaCS의 경우 다음 필드 값을 사용하여 org.apache.felix.http.sslfilter.SslFilter용 Cloud Manager을 통해 배포된 OSGi 구성을 검토하십시오.

  • enable = true
  • forwarded = true
  • forwarded.header = X-Forwarded-Proto
  • forwarded.value = https

배포 후 페이지 원본을 보고 표준 생성에서 https을(를) 사용하는지 확인합니다.
​4. 사이트 맵에서 상대 URL 또는 누락된 도메인을 수정합니다. sitemap-index.xml 항목이 사용되고 있는지 확인하십시오. 절대 URL은 대개 sitemap-index.xml에만 나타나고 하위 sitemap.xml 파일에는 나타나지 않습니다. 그런 다음 com.day.cq.commons.impl.ExternalizerImpl-publish 구성을 사용하여 코드를 통해 외부화 도메인 구성이 배포되었는지 확인합니다. externalizer.externalLink 또는 externalizer.publishLink을(를) 사용하여 간단한 테스트 링크를 추가하여 외부화가 절대 URL을 생성하는지 확인하십시오.
​5. AEM의 기본 기능을 사용하여 사이트 맵을 생성합니다. 사이트 맵 생성이 페이지당 수준에서 올바르게 활성화되었거나 비활성화되었는지 확인합니다. 사이트 맵 루트로 표시된 페이지의 경우 AEM에서 sitemap.xmlsitemap-index.xml을(를) 생성합니다. /content/<path>.sitemap-index.xml 또는 /content/<path>.sitemap.xml에 직접 액세스하여 필요한 XML이 생성되었는지 확인합니다. URL이 아무 것도 반환하지 않는 경우 페이지가 게시되었는지 확인합니다. EDS(Edge Delivery Services) 사이트 맵을 사용하는 경우 lastmodchangefreq이(가) 지원되지 않습니다. 이는 엄격한 제한이므로 EDS 사이트 맵을 사용자 지정하지 마십시오.
​6. AEMaaCS의 MSM 또는 다국어 사이트의 경우 페이지 수준이 sling:sitemapRoot인 기본 제공 Sling 사이트 맵을 사용하십시오. ACS Commons 사이트 맵 생성기는 지원되지 않습니다. 각 언어 루트에 sling:sitemapRoot = true​가 있는지 확인한 다음 <langroot>.sitemap-index.xml에 액세스하여 각 언어 루트가 자체 사이트 맵을 생성하는지 확인합니다.

유효성 검사

  1. 페이지 소스를 열고 하나의 표준 태그만 존재하는지, 프로토콜이 올바른지, 도메인이 예상 구성과 일치하는지 확인합니다.
  2. sitemap-index.xmlsitemap.xml을(를) 열고 Apache Sling 사이트 맵 제한에서 예상하지 못한 경우 상대 슬러그가 없는 상태에서 지원되는 위치에 절대 URL이 표시되는지 확인하십시오.
  3. 배포 후 Dispatcher, CDN 또는 OSGi 구성 전파에 대한 변경 사항을 확인합니다. AEMaaCS는 배포 시 자동으로 적용됩니다.

관련 읽기

recommendation-more-help
experience-cloud-kcs-help-kbarticles