환경
문제/증상
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"
로드 밸런서 없이 디스패처를 사용하고 있거나 로드 밸런서나 프록시가 디스패처를 설정하지 못하는 경우 X-Forwarded-Proto 헤더 를 연결한 다음 웹 서버나 디스패처 수준에서 설정할 수 있습니다. 사용 중인 경우 Apache HTTP 서버, HTTPS VirtualHost이 지시문을 사용하여 다음을 수행합니다.
1 | RequestHeader set X-Forwarded-Proto "https" |
---|
II. 헤더 구성 업데이트:
http://host:port/system/console/configMgr/org.apache.felix.http.sslfilter.SslFilter
, 관리자로 로그인합니다.참고:
사용된 프로토콜을 백엔드에 알려 주는 역방향 프록시 헤더에 대한 표준은 없습니다. 하지만 다음은 알려진 몇 가지 표준입니다.
III. Jetty OSGi 구성 (AEM 6.3 이상 버전) 업데이트
AEM 6.3 이상 버전에는 다음의 추가 구성이 필요합니다.
http://aem-host:port/system/console/configMgr/org.apache.felix.http.