ec2 로드밸런스를 이용해 http->https 바꾼 썰

이진희·2022년 10월 23일
0

트러블

목록 보기
1/11
post-custom-banner


결론 사진 :
route 53에 등록한 도메인으로 https 접근시 로드밸런싱 ->
route53에 2eum.xx.shop 이라는 경로 설정 후, 만들어 둔 로드밸런서 적용. 이 로드밸런서는 2eum.xx.shop 이라는 경로로 https:443 요청이 오면 http:80:4000 으로 연결해줌.
고로 , 클라이언트는 https 로 접근하여 https가 주는 보안을 누리고,

하... 7시간동안 개 뻘짓을 하다가 결국 해냈다..

저 헬로우 월드를 https 로 보는게 꿈이었다.. 굳게 잠겨있는 자물쇠가 보이는가!?

너무 영롱한 200 OK...

아무튼 지금까지 뻘짓한 것 나열

  1. SSL 인증서를 Let's Encrypt 에서 무료발급가능?
    ec2 환경에서 nginx로 발급시도했음.. 하지만 오류로인해 거절당함 (route53 jinytree 도메인이 문제였나) 오류내용은 a 도메인이 이미 적용중인것? 으로 해석되었지만, 다른 방법으로 시도해보자.
  2. aws cloudFront 로 https 눈속임
    되긴하는데 업데이트 후 배포시 적용이 안되고, 특정 요청은 403 에러를 투척.. 결국 폐기
  3. aws loadblacner 로 해보기!!(이게 솔루션)
    유튜브에 aws http를 https 로 라고 검색한 후 나오는 동영상 시청..
    따라했지만 되지 않았다.

이렇게 일요일 5~8시간을버림

우울해져서 온수 목욕을 하고 자려고했다.
그러다가 이대로 자면 홧병나서
마지막..도전을

정리하면 aws ec2를 http=> https 로 바꾸는 가장 간단한 방법은 로드밸런스를 통해서다.

근데 지금까지 로드밸런스를 어떻게 등록하는지 몰라다.
아 글로 정리하기 힘들다 . 정리해봄

  1. ec2에서 서버여는 파일의 포트를 기억 (ex:4000)
  2. ec2 보안그룹은 아래와같이 설정
http 80 tcp 0.0.0.0
http 4000 tcp 0.0.0.0
http 80 tcp ::0
http 4000 tcp ::0
ssl 22 tcp 0.0.0.0

해당 ec2에서 배포중인 서버가 5000 포트와 6000 포트를 사용한다면 각 포트도 열어주어야 함!
http로 접근해야하기 때문에 80번 포트는 무조건 일단 열어둬야함.

  1. route53 에다가 발급받은 도메인 입력-생성

    위 사진과같은 레코드2개 만들어졌을거

  2. NS 에 적힌 4개의 값을 도메인 발급받은곳 1~4차에 차례대로 적어줌
    -그리고 dns에 A유형, EC2 의 퍼블릭 ip주소값넣기.

  3. aws Certificate Manager 로 이동하여 인증서발급! 도메인 이름 정확히 입력!

  4. 5~10초 세고, 인증서클릭후 route에서 레코드생성누르면 알아서 추가됨
    *** 참고로 도메인연결이 되고 해야함 ec2 퍼블릭 주소로 접근 가능해야함.

  5. 로드밸런서 만듬.

  • 애플리케이션 로드밸런서
  • 이름은 아무렇게나짓기
  • 보안설정 추가해서 443 포트 개방!!
https 443 0.0.0.0::0 
  • 가용영역은 ec2-네트워크 에 찾아보면있다 + 한개 더 체크 =총 2개

  • 리스닝 https, 포트 443 -> 443포트로 접속하는 것 수신하겠다!

  • 인증서 아까만든거 추가

  • 그룹추가는 http 80포트, 보류시 4000으로 하여 등록 -> 이게 결국 연결해주는 포트임!! 보류시 4000 포트 (연결하고싶은 프로젝트의 포트)를 입력해주어야 443 포트로 접근했을때 80:n000 포트로 연결해준다는 뜻이다. 이 부분을 이해하지 못해서 생겼던 문제이다 ㅠㅠ

  • route53에 레코드 생성 - 진짜쓰일 url - 별칭 - 로드밸런싱 - 서울 - 로드밸런서 - 단순- 아니요 -

그럼 된다...

하지만 아직 찜찜하다.

꼭 기회가 된다면 Nginx 로 SSL 발급받아서 https 적용해봐야지!!

post-custom-banner

0개의 댓글