Setup HTTPS in 5 Minutes with Nginx Proxy Manager
Why NPM?
Applying HTTPS(SSL) is often the most annoying part of deploying web services. Editing Nginx config files and running Certbot commands is error-prone and tedious.
Nginx Proxy Manager (NPM) is a magical tool that handles all of this via a Beautiful GUI.
1. Installation
The easiest way is using Docker. create a docker-compose.yml file:
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. Access Admin Panel
Go to port 81 of your server IP.
- URL:
http://your-server-ip:81 - Default Email:
admin@example.com - Default Password:
changeme
3. Proxy Host & SSL (The Key Step)
- Click Proxy Hosts → Add Proxy Host.
- Details Tab:
- Domain Names: Your domain (e.g.,
blog.lky.kr) - Forward Host: Internal service IP or Container Name
- Forward Port: Service Port (e.g., 3000)
- Domain Names: Your domain (e.g.,
- SSL Tab (Important!):
- SSL Certificate: Select
Request a new SSL Certificate - Force SSL: Check ✅
- HTTP/2 Support: Check ✅
- Email Address: Your email
- I Agree: Check ✅
- SSL Certificate: Select
Click Save, and you're done. NPM automatically communicates with Let's Encrypt, retrieves the certificate, updates Nginx config, and enables HTTPS redirection.
Conclusion
Stop wasting time debugging Nginx config files in the terminal. Save your time with NPM.
