SSL 종료로드 밸런서 뒤의 EC2 인스턴스에서 SSL 리디렉션


11

웹 응용 프로그램에서 모든 URL을 https로 리디렉션하려고합니다.

탄력적로드 밸런서 뒤에 ec2 인스턴스가 있습니다. 로드 밸런서에서 SSL이 종료됩니다.

리디렉션을 시도하면 친숙한 '이 페이지는 결코 완료되지 않는 방식으로 요청됩니다.'

로드 밸런서는 443 및 80을 인스턴스의 포트 80으로 전달합니다.

이것이 내 .htaccess에있는 것입니다.

RewriteCond %{X-FORWARDED-PROTO} !=on  
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

누구든지 이것을 달성하는 방법을 알고 있습니까? 감사합니다

답변:


17

테스트되지 않은 .. 그러나 나는 이것을 시도

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/TerminologyandKeyConcepts.html#x-forwarded-proto


1
예! 정말 고맙습니다. 지금이 문제로 어려움을 겪고 있습니다. 매우 감사. 이것이 도움이된다면 대답입니다. 감사합니다 ...
rix

링크가 끊어졌습니다
Bill Rosmus

해결책은 여전히 ​​작동합니다. docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/…에
Tim

나를 위해 일했다. 오늘 테스트
Ben Sinclair

0

Mike 의 대답은 대부분 정확하지만로드 밸런서는 여전히 ec2 인스턴스가 여전히 잘 작동하는지 확인하기 위해 상태 점검 루틴을 수행해야한다는 점을 지적하는 것이 중요합니다. 이것은 추가로 수행 할 수 있습니다RewriteCond

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{REQUEST_URI} !^/alive\.html$
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

... 여기에서 alive.html건강 점검 파일의 이름이 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.