Nginx를 애플리케이션의 리버스 프록시로 설정하고, 무료 Let's Encrypt 인증서로 HTTPS를 자동화하세요.
이 가이드는 Nginx가 이미 설치되어 있고(Nginx 설치 가이드 참고) VPS IP를 가리키는 도메인이 있다고 가정합니다.
- Certbot과 Nginx 플러그인을 설치합니다:
apt update && apt install certbot python3-certbot-nginx /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; } }- 사이트를 활성화하고 Nginx를 리로드합니다:
ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/nginx -t && systemctl reload nginx - 포털 방화벽과 로컬 양쪽에서 80·443 포트를 엽니다:
ufw allow "Nginx Full" - 무료 SSL 인증서를 발급받습니다:
certbot --nginx -d yourdomain.com
Certbot이 Nginx 설정을 자동으로 수정해 HTTPS와 HTTP에서 HTTPS로의 리디렉션을 처리합니다. - 자동 갱신이 활성화되어 있는지 확인합니다:
systemctl status certbot.timer
Certbot은 만료 전에 인증서를 자동으로 갱신하므로 별도의 작업이 필요 없습니다.
여러 도메인: 사이트를 추가할 때마다 2~5단계를 반복하고, 도메인마다 별도의 설정 파일을 사용하세요. 각각 고유한 인증서를 발급받습니다.