欢迎光临
我们一直在努力

Docker 部署 Nginx Proxy Manager:可视化反向代理 + SSL 证书一键配置

前言

在日常服务器运维、网站部署场景中,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 服务部署的必备工具。

    赞(0)
    未经允许不得转载:171主机测评 » Docker 部署 Nginx Proxy Manager:可视化反向代理 + SSL 证书一键配置
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址