- ✅ EC2 서버 (이미 있음)
- ✅ 도메인 또는 서브도메인
- ⏱️ 소요 시간: 30분~1시간
도메인 관리 페이지 (가비아, Route53 등)에서:
Type: A
Name: api (또는 backend)
Value: 43.200.181.143
TTL: 300
예시:
api.yourdomain.com→43.200.181.143
ssh -i your-key.pem ubuntu@43.200.181.143sudo apt update
sudo apt install nginx -ysudo apt install certbot python3-certbot-nginx -ysudo nano /etc/nginx/sites-available/backend다음 내용 입력:
server {
listen 80;
server_name api.yourdomain.com; # 여기에 실제 도메인 입력
location / {
proxy_pass http://localhost:8001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_cache_bypass $http_upgrade;
}
}sudo ln -s /etc/nginx/sites-available/backend /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginxsudo certbot --nginx -d api.yourdomain.com질문에 답변:
- 이메일 입력
- 약관 동의 (Y)
- 뉴스레터 (N)
- Redirect HTTP to HTTPS? → 2 (Yes, redirect)
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 8001/tcp
sudo ufw reload브라우저에서:
https://api.yourdomain.com/health
✅ 작동하면 성공!
Freenom (무료 도메인):
- https://www.freenom.com 접속
- 무료 도메인 등록 (.tk, .ml, .ga 등)
- DNS 설정에서 A 레코드 추가
- 위의 방법 A 진행
단점: 신뢰도가 낮고 불안정할 수 있음
- Route53에서 도메인 구매 ($12/년)
- Hosted Zone 생성
- A 레코드 추가
- 위의 방법 A 진행
가장 쉬운 방법:
https://dash.cloudflare.com/sign-up
# Cloudflared 다운로드
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
# 설치
sudo dpkg -i cloudflared-linux-amd64.deb
# 로그인
cloudflared tunnel login브라우저가 열리면 Cloudflare 로그인
# Tunnel 생성
cloudflared tunnel create backend-api
# 설정 파일 생성
mkdir -p ~/.cloudflared
nano ~/.cloudflared/config.ymlconfig.yml 내용:
tunnel: <TUNNEL-ID> # 위에서 생성된 ID
credentials-file: /home/ubuntu/.cloudflared/<TUNNEL-ID>.json
ingress:
- hostname: backend-api-<random>.trycloudflare.com
service: http://localhost:8001
- service: http_status:404cloudflared tunnel run backend-apisudo cloudflared service install
sudo systemctl start cloudflared
sudo systemctl enable cloudflaredcloudflared tunnel info backend-apiHTTPS URL이 자동으로 생성됩니다!
예: https://backend-api-abc123.trycloudflare.com
- Cloudflare Tunnel (무료, 5분) ⚡
- Freenom 무료 도메인 (무료, 20분)
- Route53 도메인 구매 (유료, 30분)
SSL 설정 완료 후:
# frontend/.env.production
VITE_API_BASE_URL=https://api.yourdomain.com
# 또는
VITE_API_BASE_URL=https://backend-api-abc123.trycloudflare.comgit add .
git commit -m "chore: HTTPS API URL 업데이트"
git push origin mainVercel이 자동으로 재배포합니다!
sudo certbot renew --dry-runsudo nginx -t
sudo systemctl status nginx
sudo tail -f /var/log/nginx/error.logsudo systemctl status cloudflared
sudo journalctl -u cloudflared -f어떤 방법으로 하실 건가요?
- 도메인 있음 → 방법 A
- 도메인 없음 → Cloudflare Tunnel (추천!)
- 도메인 구매 → Route53
알려주시면 단계별로 도와드릴게요! 🚀