웹 응용 프로그램에서 모든 URL을 https로 리디렉션하려고합니다.
탄력적로드 밸런서 뒤에 ec2 인스턴스가 있습니다. 로드 밸런서에서 SSL이 종료됩니다.
리디렉션을 시도하면 친숙한 ‘이 페이지는 결코 완료되지 않는 방식으로 요청됩니다.’
로드 밸런서는 443 및 80을 인스턴스의 포트 80으로 전달합니다.
이것이 내 .htaccess에있는 것입니다.
RewriteCond %{X-FORWARDED-PROTO} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
누구든지 이것을 달성하는 방법을 알고 있습니까? 감사합니다
답변
테스트되지 않은 .. 그러나 나는 이것을 시도
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
답변
Mike 의 대답은 대부분 정확하지만로드 밸런서는 여전히 ec2 인스턴스가 여전히 잘 작동하는지 확인하기 위해 상태 점검 루틴을 수행해야한다는 점을 지적하는 것이 중요합니다. 이것은 추가로 수행 할 수 있습니다RewriteCond
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{REQUEST_URI} !^/alive\.html$
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
… 여기에서 alive.html
건강 점검 파일의 이름이 있습니다.