AEM에서는 SSL/TLS를 통해 액세스한 로드 밸런서를 통해 사용자를 다시 http로 리디렉션합니다

설명

환경

  • Experience Manager

문제/증상
SSL을 통해 AEM에 액세스하면 로드 밸런서(또는 SSL에서 CDN이 종료됨)가 다시 https에서 http로 리디렉션됩니다.

로드 밸런서에서 SSL이 종료되면 SSL 인증서가 로드 밸런서에 설치됩니다. 최종 사용자는 https://을 통해 사이트에 액세스하고 백 엔드에서 http://을 사용하여 Dispatcher/Web Server 및 AEM에 액세스합니다.

해상도

원인

로드 밸런서마다 서로 다른 헤더를 전송하여 SSL​업스트림을 종료합니다. 예를 들어 Amazon ELB는 “X-Forwarded-Proto: https” 헤더를 사용합니다.

​ ​ ​ ​ ​ ​

문제를 해결하려면

I. Dispatcher /clientheaders 구성 업데이트

SSL이 종료되었음을 다운스트림 시스템에 알리기 위해 설정한 헤더를 확인하려면 로드 밸런서의 설명서를 참조하십시오. 간단히 하기 위해 이 단계에서 올바른 HTTP 헤더는 ""로 가정합니다.X-Forwarded-Proto: https"

  1. Dispatcher 서버에 로그인합니다.
  2. dispatcher 팜 .any 구성을 엽니다.
  3. /clientheaders 섹션에 헤더를 추가합니다.

로드 밸런서 없이 디스패처를 사용하고 있거나 로드 밸런서나 프록시가 디스패처를 설정하지 못하는 경우 X-Forwarded-Proto 헤더 를 연결한 다음 웹 서버나 디스패처 수준에서 설정할 수 있습니다. 사용 중인 경우 Apache HTTP 서버, HTTPS VirtualHost​이 지시문을 사용하여 다음을 수행합니다.

1 RequestHeader  set X-Forwarded-Proto  "https"

II. 헤더 구성 업데이트:

  1. 이동 http://host:port/system/console/configMgr/org.apache.felix.http.sslfilter.SslFilter, 관리자로 로그인합니다.
  2. 설정 SSL​헤더 끝 X-Forwarded-Proto.
  3. 설정 SSL​값 전달 https.
  4. [저장]을 클릭합니다.

참고:

사용된 프로토콜을 백엔드에 알려 주는 역방향 프록시 헤더에 대한 표준은 없습니다. 하지만 다음은 알려진 몇 가지 표준입니다.

  • Amazon ELB(Elastic Load Balancer)는 "X-Forwarded-Proto: https" 헤더.
  • Amazon Cloudfront CDN은 "X-Cloudfront-Proto를 사용합니다. https" 헤더.

III. Jetty OSGi 구성 (AEM 6.3 이상 버전) 업데이트

AEM 6.3 이상 버전에는 다음의 추가 구성이 필요합니다.

  • 에 로그인합니다. http://aem-host:port/system/console/configMgr/org.apache.felix.http.
  • 프록시/로드 밸런서 연결 사용 설정을 활성화하고 저장합니다.

이 페이지에서는