개발놀이터

스프링 Redirect 시 HTTPS 접근이 아니라 막히는 현상 본문

사이드 프로젝트/온라인 쇼핑몰 ver.4

스프링 Redirect 시 HTTPS 접근이 아니라 막히는 현상

마늘냄새폴폴 2023. 7. 16. 16:55

배포 버전에서 HTTPS 접근이 아닌 HTTP 접근이기 때문에 넘어갈 수 없다는 페이지를 만났습니다. 

 

이 부분에서 에러가 발생!

때문에 다음으로 넘어가야 하는 상황에서 다음으로 넘어가지 못하고 멈추는 상황이 반복되었습니다. 

 

이는 반드시 해결해야 하는 문제였기 때문에 어떤 부분이 문제일까 고민했습니다. 

 

문제에 대해 몇가지 해결책이 떠올랐습니다. 

 

  1. HttpServletResponse 객체를 받아와서 sendRedirect로 바꾼다. 
  2. 로드밸런서의 80포트를 HTTPS로 열어준다. 

 

1번같은 경우는 시도해봤지만 다시 페이지로 리턴해야 하는 상황이었어서 성공하지 못했습니다. 

 

때문에 2번으로 넘어갔습니다. 

 

"HTTPS 요청이 와야하는데 HTTP 요청이 왔다는 얘기니까 HTTP 요청을 HTTPS로 바꿔주면 되는거 아냐?"

 

접근 자체는 좋았지만 이런다고 문제가 해결되지는 않았습니다. 

 

여러번 고민한 끝에 저는 "그럼 HTTP 요청을 80포트로 받고 443 포트 (HTTPS 포트) 로 리다이렉트 시켜줄까?"

 

결과적으로 이 방법이 옳았습니다. 

 

먼저 AWS EC2에서 로드밸런서에 들어가줍니다. 

 

 

 

이렇게 리다이렉트 조건을 걸어주면? 

 

문제가 해결됩니다...

 

마치며

문제를 해결하느데만 초점이 맞춰져서 스샷을 찍지 못한 점 양해부탁드립니다. 로드밸런서를 만져준다는게 정말 어렵군요... Nginx로 하면 더 어려울거같은데 나중엔 Nginx로도 로드밸런서 설정을 만져보도록 하겠습니다. 

 

긴 글 읽어주셔서 감사합니다. 오늘도 즐거운 하루 되세요~