본문 바로가기
프로젝트/낙낙(KnockKnock)

https 를 적용해보자!

by 티코딩 2023. 10. 11.

먼저 http와 https의 차이가 뭘까? 바로바로 s가 붙었다는것이다!

그렇다면 s는 무엇을 의미할까? 바로바로 Security다. SSL/TLS 인증서를 받아야 한다.

좀더 자세히 알아보자.

  • 보안 및 데이터 암호화: HTTP (HyperText Transfer Protocol): HTTP는 데이터를 평문으로 전송하기 때문에 보안성이 낮음. 데이터가 암호화되지 않아 누군가가 데이터를 가로채면 그 내용을 읽을 수 있음. HTTPS (HTTP Secure): HTTPS는 HTTP의 보안 버전으로 데이터를 암호화하여 전송함. 이는 SSL (Secure Sockets Layer) 또는 TLS (Transport Layer Security) 프로토콜을 사용하여 데이터의 안전한 전송을 보장한다. 따라서 중요한 개인 정보나 민감한 데이터를 주고받을 때 사용된다.
  • 포트 번호: 기본포트로HTTP는 80, HTTPS는 443을 사용함
  • 인증서: HTTP: HTTPS는 인증서를 요구하고, 웹 브라우저는 인증서를 확인해 서버의 신뢰성을 확인함. HTTPS: 인증서를 사용하여 웹 사이트의 신뢰성을 보장하고, 데이터의 무결성과 보안을 유지함.

그럼 어떻게 적용할까?

나는 이미 가비아에서 도메인을 구매해서 route53에서 세팅을 마친 상태다.

ㅇ 먼저, aws에 certificate Manager에 들어간다.

여기선 설명에 나와있듯이 SSL 인증서를 프로비저닝해준다.

ㅇ 들어가서 인증서 요청을 눌러준다.

퍼블릭 인증서 요청을 누르고, 도메인을 입력해준다.

DNS 검증, RSA 2048을 선택해준다.

ㅇ 왼쪽에 인증서 나열에서 id누르고 Route 53에서 레코드 생성을 누른다.

생성하면 조금 기다리면 (나는 30분정도 기다림)

성공되면서 인증서가 발급된다.

 

ㅇ EC2 인바운드 규칙 수정

https는 443포트를 사용하므로 규칙을 수정해야한다.나는 8080을 사용하니

8080으로 ipv4, ipv6, 443으로 ipv4,ipv6 모두 허용해준다.

 

ㅇ 타겟 그룹 생성

생성완료되면 밑에서 등록해준다.

ㅇ 로드밸런서 생성

Application Load Balancer, Network Load Balancer, Gateway Load Balancers ,Classic Load Balancer 중에 첫번째 ALB를선택.

가용영역에는

다음 단계에선 이렇게,

그룹은 아까 만들어놓은 대상그룹 선택.

그러면 이렇게 로드밸런서까지 생성완료.

 

ㅇ 다음에 Route53으로 가서 A유형의 레코드를 편집한다.

아까 만들어둔 로드밸런서로 적용.

 

ㅇ 로드밸런서 리스너 편집

먼저 443.

저기를 누르고,

저기 연필모양을 클릭.

왼쪽의 연필모양 클릭해서 수정하면된다.

그다음은 8080규칙에 새로생성해준다. 기존에있던건 그대로 둬도 된다.

ㅇ 그다음 health check

EC2 > 로드밸런싱 > 대상그룹 > 대상 > 상태를 본다.

unhealthy면 

경로가 / 기 때문에 knockknockofficial.shop/ 에 get요청을 보내면 무조건 200번의 코드를 응답하는 api를 만들어준다.

나는 경로를 /home/health 로 바꾸고

/home/health api를 만들어줬다.

200번대만 나오게하면된다. 그러면

대상그룹에 8080의 상태가 healthy로 바뀔것이다.

그다음에 api보낼 주소를

https://knockknockofficial.shop 으로보내도 되고, https://knockknockofficial.shop:443 으로 보내도된다.

나는 기본포트가아닌 8080포트를 썼으므로

http://knockknockofficial.shop:8080 으로 보내도 https로 연결해준다.

 

끝!!!

 

 

https://woojin.tistory.com/93

 

EC2 HTTPS로 연결하기 (1) - 도메인 구매하고 ACM 인증서 발급하기

> 1편) 도메인 구매하고 ACM 인증서 발급하기 도메인 인증 --> ACM 인증서 발급 --> Target Group 생성 --> Load Balancer 생성 --> 규칙 수정 --> Health check 성공) 2편) 로드 밸런서 사용하고 Health check 통과하기 (

woojin.tistory.com

이 포스팅을 보고 많은 도움이 되었다. 정말 감사합니다!!!