部署教程|Nginx Proxy Manager:图形化反代与证书管理,一键启用 HTTPS

1. 项目简介

Nginx Proxy Manager 提供 Web UI 来管理反向代理、虚拟主机和证书,适合家庭实验室与小型服务聚合。

2. 前置条件

  • 一台可公网访问的服务器(需放行 80/443 端口用于签证书)。
  • 安装 Docker 和 Docker Compose。
  • 一个可解析到服务器的域名。

3. Docker Compose 部署

docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
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

启动:

1
docker compose up -d

初始登录(默认):邮箱 admin@example.com / 密码 changeme(首次会强制修改)。

4. 创建反向代理主机

  1. 打开 http://<服务器IP>:81 登录。
  2. 选择 “Proxy Hosts” → “Add Proxy Host”。
  3. 填写:
    • Domain Names:你的域名(可多个,逗号分隔)
    • Scheme:httphttps
    • Forward Hostname/IP:后端服务地址(容器名或内网 IP)
    • Forward Port:后端端口
    • Cache Assets/Block Common Exploits:按需勾选
  4. 保存。

5. 申请并自动续期证书

  • 在同一界面勾选 “SSL” → 选择 “Request a new SSL Certificate”。
  • 勾选 “Force SSL” 与 “HTTP/2 Support”。
  • 填邮箱,接受条款,保存。
  • NPM 会自动通过 ACME/HTTP-01 验证,80/443 需可访问。

6. 常见场景

  • 多站点聚合:不同域名指向不同内网服务,无需手写 Nginx 配置。
  • 子路径转发:Location 规则可自定义前缀。
  • WebSocket 支持:勾选 “Websockets Support” 以转发 WS/WSS。
  • 访问控制:可设置 Basic Auth;或用防火墙限制管理面板 81 端口仅内网访问。

7. 故障排查

  • 申请证书失败:检查域名解析到当前服务器、80/443 放行、防火墙/安全组。
  • 后端 502:确认容器网络可达;转发的 Host 头是否被后端接受。
  • 面板打不开:检查 docker logs <app> 日志;端口是否占用。

8. 安全提示

  • 修改默认管理员账号;面板不要暴露公网或加防火墙白名单。
  • 定期备份 dataletsencrypt 目录。
  • 关闭未使用的端口与协议;高流量场景建议迁移到原生 Nginx 配置。

9. 总结

Nginx Proxy Manager 适合快速落地 HTTPS 与反代聚合:Compose 一键起,UI 点几下即可申请证书和转发后端。小型站点/家庭实验室性价比极高。***