前言
在日常服务器运维、网站部署场景中,Nginx 反向代理、SSL 证书配置是高频需求,但传统手动修改 Nginx 配置文件、申请证书、配置 HTTPS 的方式繁琐易错。Nginx Proxy Manager(NPM) 是一款开源可视化 Nginx 管理工具,基于 Docker 一键部署,支持图形化配置反向代理、自动申请 / 导入 SSL 证书、域名转发、访问控制等功能,无需编写复杂 Nginx 配置,新手也能快速上手。本文结合 Docker Compose 一键部署,详细讲解反向代理配置、SSL 证书申请与导入全流程,适配 CentOS、银河麒麟 V10 等国产系统,可直接复刻操作。
一、Nginx Proxy Manager 核心介绍
Nginx Proxy Manager 是基于 Nginx 开发的可视化反向代理管理面板,核心优势:
- 图形化操作:网页端配置反向代理,无需修改配置文件;
- 一键 SSL 证书:支持自动申请 Let's Encrypt 免费 SSL 证书,自动续期;
- 证书导入:兼容阿里云、腾讯云等第三方 SSL 证书导入;
- 安全防护:可开启强制 HTTPS、Websocket 支持、漏洞防护、访问白名单;
- Docker 容器化部署:隔离性强、部署快、迁移便捷。
默认登录信息:
- 邮箱:
admin@example.com - 密码:
changeme
首次登录必须修改管理员账号密码,保障面板安全。
二、Docker Compose 一键部署 Nginx Proxy Manager
1. 编写 docker-compose.yml 部署文件
新建部署目录,创建docker-compose.yml文件,直接复制以下配置(镜像为国内华为云镜像,下载速度更快):
version: "3"
services:
app:
image: 'swr.cn-north-1.myhuaweicloud.com/iivey/nginx-proxy-manager:v1.0'
restart: unless-stopped
ports:
- '80:80' # HTTP端口
- '443:443' # HTTPS端口
- '81:81' # 管理面板端口
environment:
DB_MYSQL_HOST: "db"
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: "npm"
DB_MYSQL_PASSWORD: "npm"
DB_MYSQL_NAME: "npm"
volumes:
- ./data:/data # 持久化面板配置
- ./letsencrypt:/etc/letsencrypt # 持久化SSL证书
depends_on:
- db
db:
image: 'swr.cn-north-1.myhuaweicloud.com/iivey/mariadb-aria:v1.0'
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
volumes:
- ./data/mysql:/var/lib/mysql # 持久化数据库
2. 启动服务
在配置文件目录执行以下命令,一键启动 NPM 服务:
# 后台启动容器
docker-compose up -d
# 查看运行状态
docker-compose ps

服务启动后,浏览器访问 http://服务器IP:81,即可进入 Nginx Proxy Manager 登录页面。

三、Nginx Proxy Manager 反向代理配置实战
3.1 登录面板并修改默认账号
- 访问
http://服务器IP:81,输入默认账号密码:- 邮箱:
admin@example.com - 密码:
changeme
- 邮箱:
- 首次登录强制修改管理员邮箱、用户名、密码,保存后重新登录。

3.2 新建反向代理主机
-
进入面板首页,点击 Proxy Hosts(代理主机) ,点击右上角 Add Proxy Host(添加代理主机) ;

-
核心参数填写(关键项):
- Domain Names(域名):填写已解析到服务器的域名(需提前在域名服务商做 A 记录解析);
- Scheme :后端服务协议,一般选
http; - Forward Hostname/IP :后端服务地址(本机 Docker 服务填写
172.17.0.1,外部服务填写对应 IP); - Forward Port:后端服务端口(如 Zabbix 的 8080、云桌面 6080 等);
- 可选配置:开启
Block Common Exploits(防护常见漏洞)、Websockets Support(支持 WebSocket,适配实时通信服务);

点击Save,完成基础反向代理配置。

配置完成后,访问域名即可自动转发到后端服务,无需手动暴露后端端口。
四、SSL 证书配置(HTTPS 加密)
Nginx Proxy Manager 支持自动申请 Let's Encrypt 免费证书 、导入第三方证书两种方式,实现全站 HTTPS 加密。
方式 1:面板自动申请 Let's Encrypt 免费 SSL 证书(推荐)
- 编辑已创建的代理主机,切换到
SSL选项卡; - SSL Certificate 选择
Request a new SSL Certificate; - 开启
Force SSL(强制跳转 HTTPS); - 填写邮箱(用于证书到期提醒),勾选同意证书服务协议;
- 点击保存,面板自动申请、部署、配置证书,证书自动续期,无需手动操作。

方式 2:导入阿里云 / 腾讯云第三方 SSL 证书
步骤 1:申请免费证书
登录阿里云 SSL 证书服务,领取DV 单域名免费试用证书 ,下载key私钥文件、pem证书文件。

步骤 2:面板导入证书
顶部导航栏进入SSL Certificates,点击Add SSL Certificate → 选择Custom;

填写证书名称(自定义);
分别上传:Certificate Key(key私钥)、Certificate(pem证书)、Intermediate Certificate(中间证书);

保存后,回到代理主机,SSL 选项卡选择刚导入的证书,开启强制 HTTPS 即可。
五、总结
本文基于 Docker Compose 实现 Nginx Proxy Manager 一键部署,完成了反向代理配置、SSL 证书申请 / 导入、HTTPS 强制加密全流程实操。Nginx Proxy Manager 大幅简化了传统 Nginx 运维工作,可视化操作降低技术门槛,结合 Docker 容器化特性,适配国产银河麒麟、CentOS 等系统,可用于网站部署、内网服务外网暴露、云桌面 / 监控系统域名访问等场景,是云原生运维、Web 服务部署的必备工具。