Duck DNS 에서 무료 도메인 발급

스크린샷 2026-01-21 오후 12.18.51.png

GitHub or Google로 회원가입하기

스크린샷 2026-01-21 오후 12.19.31.png

원하는 domain 입력, EC2 IP 주소 입력하기

EC2에서 Nginx + Certbot 설치

# Nginx 설치
sudo apt install nginx -y

# Certbot 설치
sudo apt install certbot python3-certbot-nginx -y

# Nginx 시작 및 상태 확인
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginx

EC2 SSH 접속 후 Nginx, Certbot 설치하기

Nginx 설정 (Reverse Proxy)

# Nginx 설정 파일 생성
sudo nano /etc/nginx/sites-available/rarego
server {
    listen 80;
    server_name rarego.duckdns.org;  # 본인 도메인으로 변경

    # Backend API (Spring Boot)
    location /api/ {
        proxy_pass <http://localhost:8080>;
        proxy_http_version 1.1;
        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;
    }

    # OAuth2 callback
    location /login/oauth2/ {
        proxy_pass <http://localhost:8080>;
        proxy_http_version 1.1;
        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;
    }

    # Frontend (Next.js)
    location / {
        proxy_pass <http://localhost:3000>;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}
# 심볼릭 링크 생성
sudo ln -s /etc/nginx/sites-available/rarego /etc/nginx/sites-enabled/

# 기본 설정 제거 (선택)
sudo rm /etc/nginx/sites-enabled/default

# 설정 테스트
sudo nginx -t

# Nginx 재시작
sudo systemctl reload nginx

SSL 인증서 발급 (Certbot)

# Certbot으로 인증서 발급 (도메인을 본인 것으로 변경)
sudo certbot --nginx -d rarego.duckdns.org

Certbot이 자동으로:

  1. 인증서 발급
  2. Nginx 설정에 HTTPS 추가
  3. HTTP → HTTPS 리다이렉트 설정