Print
카테고리: [ Apache HTTP Server ]
조회수: 8414

 

1. 개요

AWS ELB에 HTTPS를 사용하고 뒤에 Apache는 HTTP를 사용할 경우 발생할 수 있는 케이스 이다.


2. 활용

 

앞선 설정, 

https://sarc.io/index.php/httpd/1120-apache-https-http-redirect-rewrite

에서는 정상적으로 되나, ELB에서만 SSL 인증서를 사용할 경우 리다이렉트가 무한루프를 도는 현상이 발생한다.

그럴 경우, 위 링크의 설정에 다음을 추가해야 한다.

RewriteCond %{HTTP:X-Forwarded-Proto} !https

위의 설정을 추가하여야 Forward 받은 http의 성격을 파악하여 진행하게 된다.

 

- HTTP를 HTTPS로 리다이렉트

   <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{HTTP:X-Forwarded-Proto} !https       
        RewriteCond %{HTTPS} off
        RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [P,R,L]
   </IfModule>
 
 => Proxy가 필요없을 경우에는 [R=301,L] 사용을 추천.
 
관련 링크: https://stackoverflow.com/questions/26620670/apache-httpx-forwarded-proto-in-htaccess-is-causing-redirect-loop-in-dev-envir