Nginx를 애플리케이션의 리버스 프록시로 설정하고, 무료 Let's Encrypt 인증서로 HTTPS를 자동화하세요.

이 가이드는 Nginx가 이미 설치되어 있고(Nginx 설치 가이드 참고) VPS IP를 가리키는 도메인이 있다고 가정합니다.

  1. Certbot과 Nginx 플러그인을 설치합니다:
    apt update && apt install certbot python3-certbot-nginx
  2. /etc/nginx/sites-available/myapp에 사이트 설정을 만듭니다. yourdomain.com과 프록시 포트는 실제 값으로 바꾸세요:
    server {
        listen 80;
        server_name yourdomain.com;
    
        location / {
            proxy_pass http://127.0.0.1:3000;
            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;
        }
    }
  3. 사이트를 활성화하고 Nginx를 리로드합니다:
    ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/
    nginx -t && systemctl reload nginx
  4. 포털 방화벽과 로컬 양쪽에서 80·443 포트를 엽니다:
    ufw allow "Nginx Full"
  5. 무료 SSL 인증서를 발급받습니다:
    certbot --nginx -d yourdomain.com
    Certbot이 Nginx 설정을 자동으로 수정해 HTTPS와 HTTP에서 HTTPS로의 리디렉션을 처리합니다.
  6. 자동 갱신이 활성화되어 있는지 확인합니다:
    systemctl status certbot.timer
    Certbot은 만료 전에 인증서를 자동으로 갱신하므로 별도의 작업이 필요 없습니다.

여러 도메인: 사이트를 추가할 때마다 2~5단계를 반복하고, 도메인마다 별도의 설정 파일을 사용하세요. 각각 고유한 인증서를 발급받습니다.

이 가이드가 도움이 되었나요?

의견을 보내주셔서 감사합니다!