Cro Blog Logo

Cro Blog

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.

3. Proxy Host & SSL (The Key Step)

  1. Click Proxy Hosts → Add Proxy Host.
  2. 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)
  3. 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 ✅

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.