[AWS] ELB + http to https + Nginx 설정
ITWeb/개발일반 2017. 2. 2. 10:12요즘 대부분의 서비스들이 http 를 제거 하고 https 로 서비스 하기 시작했습니다.
AWS 에서 제공하는 SSL 을 이용해서 ELB 에 구성하신 분들의 경우 대부분 아래와 같이 되어 있을 것 같은데요.
http://service -> elb:80 -> ec2:80
https://service -> elb:443 -> ec2:80
이와 같이 되어 있다 보니 개별 ec2 에서는 모두 listen 80 만 하게 됩니다.
그래서 client 에서 http 로 들어 왔는지 https 로 들어 왔는지 확인이 필요 한데요.
이 경우 아래와 같은 변수들을 활용해서 설정을 하시면 됩니다.
[참고문서]
http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/x-forwarded-headers.html
[X-Forwarded Headers]
X-Forwarded-For
X-Forwarded-Proto
X-Forwarded-Port
[Nginx 설정]
server {
listen 80;
server_name localhost;
if ($http_x_forwarded_proto = 'http') {
return 301 https://$server_name$request_uri;
}
}
참고 용이니 실 서비스에 적용 시 충분한 테스트 후 적용하시기 바랍니다.