AWS 로드밸런서-애플리케이션 구간 프로토콜 변환과 스프링 baseUrl 문제

• AWS ALB 뒤에 위치한 EC2 컨테이너에 스프링 서버 애플리케이션을 배포할 때, OAuth2 인증 시 리다이렉트 URL의 프로토콜이 HTTP로 변경되는 문제가 발생한다.
• 이 문제는 ALB와 EC2 컨테이너 간의 통신이 HTTP로 이루어지기 때문에 발생하며, 이를 해결하기 위해 application.yml 파일에 설정을 추가하거나, 환경 변수를 사용하여 리다이렉트 URL을 설정할 수 있다.
• AWS ALB는 X-Forwarded-Proto 등의 헤더를 통해 원본 요청의 프로토콜 정보를 전달하며, 스프링의 ForwardedHeaderFilter를 사용하여 이를 처리할 수 있다.
• application.yml 파일에 `server.forward-headers-strategy: framework` 설정을 추가하면, ALB를 통한 원본 요청의 프로토콜을 올바르게 인식하여 리다이렉트 URL을 HTTPS로 설정할 수 있다.

북마크
공유하기
신고하기