Nginx Proxy Manager로 5분 만에 HTTPS 무료 적용하기
왜 NPM인가?
웹 서비스를 배포할 때 가장 귀찮은 것 중 하나가 HTTPS(SSL) 적용입니다. Nginx 설정 파일을 직접 건드리고, Certbot 명령어를 치는 과정은 실수하기 딱 좋습니다.
**Nginx Proxy Manager (NPM)**은 이 모든 과정을 **GUI(그래픽 화면)**에서 해결해주는 마법 같은 도구입니다.
1. NPM 설치하기
가장 쉬운 방법은 역시 Docker입니다. 아래 docker-compose.yml 파일을 작성하고 실행하세요.
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
docker-compose up -d
2. 관리자 페이지 접속
서버 IP의 81번 포트로 접속하면 관리자 화면이 뜹니다.
- 주소:
http://내서버IP:81 - 초기 계정:
admin@example.com - 초기 비번:
changeme
3. 도메인 연결 및 SSL 발급 (핵심!)
- Proxy Hosts 메뉴 클릭 → Add Proxy Host 버튼을 누릅니다.
- Details 탭:
- Domain Names: 연결할 도메인 입력 (예:
blog.lky.kr) - Forward Host: 내부 서비스 IP (Docker라면 컨테이너 이름)
- Forward Port: 서비스 포트 (예: 3000)
- Domain Names: 연결할 도메인 입력 (예:
- SSL 탭 (가장 중요!):
- SSL Certificate:
Request a new SSL Certificate선택 - Force SSL: 체크 ✅ (필수!)
- HTTP/2 Support: 체크 ✅ (권장)
- Email Address: 본인 이메일 입력
- I Agree: 체크 ✅
- SSL Certificate:
Save 버튼만 누르면? 끝입니다. NPM이 알아서 Let's Encrypt 서버와 통신해 인증서를 받아오고, Nginx 설정을 고치고, HTTPS 리다이렉트까지 걸어줍니다.
마치며
이제 더 이상 검은 터미널 화면에서 nginx -t를 치며 오타를 찾을 필요가 없습니다.
NPM으로 여러분의 소중한 시간을 아끼세요.
