[강의 정리] AWS Nginx, Certbot을 활용해 HTTPS 연결하기

2024. 6. 5. 10:00Programming/환경 설정 정리

** ELB vs Nginx, Certbot

Nginx는 왜 사용하는 걸까?

: Nginx와 Certbot을 활용해서 HTTPS를 적용시키는 가장 큰 이유는 비용때문이다.

HTTPS를 적용하는데 일절 비용이 들지않기 때문이다. 반면 ELB는 자체로써 비이 나간다.

따라서 ELB를 사용하지 않고 백엔드 서버와 Nginx, Certvot를 하나의 EC2에 설치해서 사용하는 경우도 많다.

 

 

1.EC2 생성 > 보안그룹 규칙 설정

 

: ssh, http. https, 사용자 지정 TCP를 다음과 같이 해준다.

 

sudo su> git clone 후 vi .app.js 를 3000번 포트로 변경

 

2. IP 주소 OR 도메인 연결 후 확인

 

 

 

3.Ngnix 설치

sudo apt update
sudo apt install nginx  -- nginx 설치


sudo service nginx status -- 설치확인

 

 

4.Ngnix 설치 확인

: 정상적으로 설치 완료시 기본 IP 주소(혹은 80번 포트) OR 기본 도메인 로 접속하면 다음과 같은 화면이 출력된다.

 

 

5.Certbot 설치

sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

 

 

6.Certbot을 통해서 HTTPS, 즉 SSL 인증서 발급하기

$ sudo certbot --nginx -d <도메인 주소>

 이메일 입력 & Y & Y

 

7.확인시 HTTPS://도메인으로 설정되면 정상적으로로 적용된 것이다.

기본적으로 80번포트에만 적용되어 있다.

 

따라서 3000번 포트에 HTTPS를 적용하기 위해

cd /etc/nginx/sites-avaliable
vi default

 

8.리버스 프록시 설정 & 서버 재시작

...
server {
	...

	server_name jscode.edu.link;
	
	location / {
		#try_files $uri $uri/ =404;
		proxy_pass http://localhost:3000/;
	}
	...
}
sudo service nginx restart

 

 

9.정상적으로 리버스 프록시된 화면 출력