Quickly Deploy Nginx Proxy Manager with Docker and Enable HTTPS
This guide walks you through installing Nginx Proxy Manager via Docker, configuring its web UI, setting up a reverse proxy for the admin panel, and securing it with a Let's Encrypt SSL certificate, all without needing deep Nginx knowledge.
Today we introduce Nginx Proxy Manager, a visual management interface for Nginx that even beginners can use.
Features
Beautiful, secure UI built on Tabler
Create forward domains, redirects, streams, and 404 hosts without knowing Nginx
Free SSL via Let's Encrypt or custom certificates
Host access lists and basic HTTP authentication
Advanced Nginx configuration for superusers
User management, permissions, and audit logs
Installation
1. Install Docker and Docker‑Compose
2. Create a docker-compose.yml file
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt3. Run
docker-compose up -d
# If using docker‑compose‑plugin
docker compose up -d4. Access the web UI
After the containers start, open http://127.0.0.1:81 to see the interface.
5. Login
Default credentials are:
Username: [email protected]
Password: changemeOn first login you will be prompted to change the password.
6. Main dashboard after login
Practical Example: Reverse Proxy for the Admin Interface
We bind http://a.test.com to the admin UI on port 81, enabling HTTPS access.
1. Prerequisites
Nginx Proxy Manager installed
A domain name
The domain resolves to the server’s IP where Nginx Proxy Manager runs
2. Reverse proxy setup
Log into the admin UI, click the green icon, then “Add Proxy Host”. Fill in the details:
Domain Names: a.test.com Forward Hostname / IP: the IP address reachable by the proxy (use docker0 interface IP if services run in Docker on the same host)
Forward Port: 81 Block Common Exploits: enabled
Forward Hostname / IP explanation
If the target service runs on a different server, use its reachable IP; if on the same host, use the IP obtained by ip addr show docker0 because Docker containers are on a separate network from the host.
3. Obtain SSL certificate
In the Nginx Proxy Manager UI go to Access Lists → Add SSL Certificate → Let’s Encrypt, fill in the domain a.test.com, and save.
4. Enable HTTPS
Edit the previously created proxy host, select the issued SSL certificate, and check “Force SSL” to enforce HTTPS.
After these steps, a.test.com serves the admin interface over HTTPS, while the original port 81 can be closed.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
MaGe Linux Operations
Founded in 2009, MaGe Education is a top Chinese high‑end IT training brand. Its graduates earn 12K+ RMB salaries, and the school has trained tens of thousands of students. It offers high‑pay courses in Linux cloud operations, Python full‑stack, automation, data analysis, AI, and Go high‑concurrency architecture. Thanks to quality courses and a solid reputation, it has talent partnerships with numerous internet firms.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
