JSCODE Logo
프로그래밍 과외블로그후기멘토진
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호
학원 명칭 : 제이에스코드(JSCODE)원격학원학원설립ㆍ운영 등록번호 : 제6063호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2025 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침
← 블로그 목록으로 돌아가기

[보충 강의] Nginx, Certbot을 활용해 HTTPS 연결하기

JSCODE 박재성
JSCODE 박재성
2025-11-30
author
JSCODE 박재성
category
AWS
createdAt
Nov 30, 2025
series
비전공자도 이해할 수 있는 AWS 입문
slug
https-with-nginx-and-certbot
type
post
updatedAt
Nov 30, 2025 04:56 AM
❗
Nginx에 대한 수업이 아니므로 Nginx에 대한 자세한 설명은 생략한다.

✅ 0. 사전 환경 셋팅하기

🎯
[실습] 1. 리전(Region) 선택하기
🎯
[실습] 2. EC2 셋팅하기 - 기본 설정
🎯
[실습] 3. EC2 셋팅하기 - 보안그룹 설정
🎯
[실습] 4. EC2 셋팅하기 - 스토리지 구성
🎯
[실습] 5. EC2 접속하기
🎯
[실습] 6. 탄력적 IP 연결하기
🎯
[실습] 7. Express 서버를 EC2에 배포하기
 
🎯
[실습] 1. Route53에서 도메인 구매
🎯
[실습] 2. Route53의 도메인을 EC2에 연결하기
→ 주의) EC2에 도메인을 연결시키지 않으면 Certbot이 정상적으로 작동하지 않는다.
 

✅ 1. Express 서버의 실행 포트를 3000번으로 바꿔주기

Nginx를 80번 포트에서 실행시킬 것이기 때문에 Express 서버는 3000번에서 띄워주도록 하자.
app.js
require('dotenv').config(); const express = require('express'); const app = express(); const port = 3000; app.get('/', (req, res) => { res.send(`.env 테스트 : ${process.env.DATABASE_NAME}`); }) app.listen(port, () => { console.log(`Example app listening on port ${port}`) })
테스트를 위해 보안 그룹에서 3000번 포트를 추가적으로 열어주자.
 
 

✅ 2. Nginx 설치

$ sudo apt update $ sudo apt install nginx
 

✅ 3. Nginx 잘 설치됐는 지 확인

[리눅스 명령어로 확인]
$ sudo service nginx status
notion image
 
[EC2 IP로 접속해서 확인]
notion image
주의) https://<ip 주소>가 아니라 반드시 http://<ip 주소>로 접속해야 한다.
 

✅ 4. Certbot 설치하기

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

✅ 5. SSL 인증서 발급받기

$ sudo certbot --nginx -d <도메인 주소> # 예시 $ sudo certbot --nginx -d jscode-edu.link
notion image
notion image
** 반드시 해당 EC2에 도메인을 연결한 뒤에 위 명령어를 쳐야 정상 작동한다.
 
 

✅ 6. 리버스 프록시 설정해주기

$ sudo vi /etc/nginx/sites-available/default
 
/etc/nginx/sites-available/default
... server { ... server_name jscode.edu.link; location / { try_files $uri $uri/ =404; proxy_pass http://localhost:3000/; } ... }
 

✅ 7. Nginx 재시작하기

$ sudo service nginx restart
 

✅ 8. 백엔드 서버에 HTTPS가 잘 적용되는 지 확인하기

notion image
notion image
 
 
 

✅ 참고 문서

Install and configure Nginx | Ubuntu
Ubuntu is an open source software operating system that runs from the desktop, to the cloud, to all your internet connected things.
Install and configure Nginx | Ubuntu
https://ubuntu.com/tutorials/install-and-configure-nginx#3-creating-our-own-website
Install and configure Nginx | Ubuntu
Certbot Instructions
Tagline
https://certbot.eff.org/instructions?ws=nginx&os=ubuntufocal
author
category
AWS
createdAt
series
비전공자도 이해할 수 있는 AWS 입문
slug
type
series-footer
updatedAt
Jan 12, 2026 12:03 AM
📎
이 글은 비전공자도 이해할 수 있는 AWS 입문/실전 강의의 수업 자료 중 일부입니다.