AEM은 SSL/TLS 종료된 로드 밸런서 를 통해 액세스할 때 사용자를 http로 다시 리디렉션합니다.

설명 description

환경

  • Experience Manager

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

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

해결 방법 resolution

원인

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

​​​​ ​​

문제를 해결하려면

I. Dispatcher/clientheaders 구성 업데이트

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

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

로드 밸런서 없이 Dispatcher를 사용하거나 로드 밸런서 또는 프록시가 를 설정하지 못하는 경우 X-Forwarded-Proto 헤더를 선택한 다음 웹 서버 또는 dispatcher 수준에서 설정할 수 있습니다. 을 사용하는 경우 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.
  • 프록시/로드 밸런서 연결 사용 설정을 활성화하고 저장합니다.
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f