Google Cloud Load Balancer를 사용하며 nginx에 Always HTTPS 적용하기
·
Dev/클라우드
프록시를 거치게 되면 $http_x_forwarded_proto에 https인지 http인지 여부가 들어간다. 이 값을 이용해서 판단해 주면 된다. 소스는 아래와 같이 된다. if ($http_x_forwarded_proto != "https") { rewrite ^(.*)$ https://$server_name$1 permanent; } 여기서 문제는 내 서비스의 백엔드는 HTTP로 돌아가고 있다는 사실. Google Cloud Load Balancer에는 상태 확인 기능이 있어서 상태가 좋지 않을 경우 서버에서 제외시켜 버린다. 내부에는 SSL이 없어서 HTTP 프로토콜로 상태 확인을 진행하는데 HTTP로 접속할 경우 위 코드대로 한다면 HTTPS로 리다이렉트되어 버린다. 상태 확인은 이를 비정상적인..