[Network] HTTP/HTTPS 차이점, SSL 인증서 다운로드 받기
CI/CD
지속적 통합(Continuous Integration) 및 지속적 제공/배포(Continuous Delivery/Deployment)를 의미하며, 소프트웨어 개발 라이프사이클을 간소화하고 가속화하는 것을 목표로 한다.
지속적 통합이란 어플리케이션의 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트 되어 공유 레포지토리에 통합하는 것을 의미한다.
진행 순서를 정리 해 봤을 때 > K8S 배포 기준
- Kubernetes 클러스터 배포 및 MetalLB 설정
- LoadBalancer 서비스 및 Ingress 설정
- 도메인 연결 및 SSL 설정
- CI/CD 파이프라인 설정 (Jenkins 사용)
- 무중단 배포 설정
으로 이뤄집니다. 여기에서 3번째인 도메인 연결 및 SSL설정은 HTTPS로 적용하는 것인데,
그 전에 HTTP와 HTTPS의 차이점에 대해서 알아봅시다.
1. HTTP (HyperText Transfer Protocol)
- 정의: 인터넷 상에서 웹 브라우저와 웹 서버 간의 데이터를 주고받는 기본 프로토콜.
- 특징:
- 데이터를 암호화하지 않고 **평문(Plain Text)**으로 전송.
- 속도는 빠르지만, 보안에 취약.
- 주로 보안이 덜 중요한 일반적인 웹사이트(예: 뉴스 사이트)에서 사용.
- 포트 번호: 기본적으로 80번 포트 사용.
2. HTTPS (HyperText Transfer Protocol Secure)
- 정의: HTTP에 **SSL/TLS(Secure Socket Layer / Transport Layer Security)**를 추가해 보안을 강화한 프로토콜.
- 특징:
- 데이터 암호화: 클라이언트와 서버 간의 데이터가 암호화되어 중간에서 가로채도 내용을 알 수 없음.
- 데이터 무결성: 데이터가 전송 중 변조되지 않도록 보장.
- 인증: 서버가 신뢰할 수 있는 인증기관(CA, Certificate Authority)에서 발급받은 SSL 인증서를 사용해 통신 상대방의 신뢰성을 보장.
- 보안이 중요한 웹사이트(예: 금융, 전자상거래, 로그인 페이지)에서 사용.
- 포트 번호: 기본적으로 443번 포트 사용.
HTTPS의 작동 원리
- SSL/TLS 핸드셰이크:
- 클라이언트와 서버가 서로 암호화 키를 교환하여 안전한 통신 채널을 설정.
- 데이터 암호화:
- 데이터를 암호화하여 전송하며, 수신자가 복호화하여 내용을 확인.
- 인증서 검증:
- 서버의 SSL 인증서를 검증하여 통신 상대방의 신뢰성을 확인.
왜 HTTPS를 사용하는가?
- 보안 강화: 데이터 도난 및 중간자 공격(MITM)을 방지.
- SEO 우대: Google과 같은 검색 엔진은 HTTPS 웹사이트를 우선적으로 노출.
- 사용자 신뢰도 증가: HTTPS는 브라우저에서 자물쇠 아이콘을 표시해 사용자에게 안전하다는 인식을 줌.
- 브라우저 경고: 최신 브라우저는 HTTP 사이트를 "안전하지 않음"으로 표시.
SSL 인증서 발급 받는 방법
HTTPS를 구현하기 위해서 SSL 인증서를 발급 받아야 한다.
ZeroSSL에서 발급 받았다.
사용 할 도메인 입력
무료 도메인 인증 센터인 [내 도메인 한국] 에서 등록 가능합니다.
https://xn--220b31d95hq8o.xn--3e0b707e/
내도메인.한국 - 한글 무료 도메인 등록센터
한글 무료 도메인 내도메인.한국, 웹포워딩, DNS 등 무료 도메인 기능 제공
xn--220b31d95hq8o.xn--3e0b707e
도메인을 생성 해 주고, IP연결에는 K8S에 배포한 frontend 서비스의 IP를 적어주면 된다.
위에 생성한 도메인 주소를 입력 해 주고 Next Step을 넘어간다.
90-Day 로 설정 해 주고 Next Step
무료가 너무너무 중요하니까, 추가 기능은 아무것도 체크하지 않고 Next Step
무료 버전을 선택하고, Next
아래에 나오는 Name, Point To 를 잘 복사해서 내 도메인 한국에 있는
이 칸에 잘 넣어주시면 됩니다. 그럼 이제 키를 다운 받을 수 있는데, 이 키의 압축을 해제하고 내가 찾을 수 있는 폴더 안에 잘 넣어주시면 됩니다. 저는 c드라이브에 넣었습니다.
이제 이 key를 병합해서 넣어주면 되는데, 이건 다른 페이지에서 작성하겠습니다.!
대부분의 웹사이트에서는 HTTPS 사용이 표준화되고 있습니다. 다들 신규 웹사이트를 개발하거나 운영한다면 HTTPS를 사용하는 것을 권장하고 있습니다!