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.

MaGe Linux Operations
MaGe Linux Operations
MaGe Linux Operations
Quickly Deploy Nginx Proxy Manager with Docker and Enable HTTPS

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/letsencrypt

3. Run

docker-compose up -d

# If using docker‑compose‑plugin
docker compose up -d

4. 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: changeme

On 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.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Dockerreverse proxyHTTPSDocker ComposeWeb UILet’s Encryptnginx-proxy-manager
MaGe Linux Operations
Written by

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.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.