NginxProxyManager/nginx-proxy-manager
运维与部署用 Docker 和 Web 界面管理 Nginx 反向代理,自动申请 Let's Encrypt 证书。
项目介绍
Nginx Proxy Manager 把 Nginx 和一个网页管理后台打包成预构建 Docker 镜像,面向自建 Web 服务的用户,让他们不用手写 Nginx 配置、也不用自己跑 Certbot,就能完成反向代理和 TLS 终止。在管理界面里可以创建转发域名、重定向、TCP/UDP 流和 404 主机,申请免费的 Let's Encrypt 证书或上传自有证书,为站点配置访问列表和 HTTP Basic 认证,并管理用户权限与审计日志;需要时还能写入高级 Nginx 配置。界面基于 Tabler 功能列表。
快速使用
前提:已安装 Docker,宿主机 80、81、443 端口空闲。
- 按 Docker 文档 安装 Docker。
- 新建
docker-compose.yml,使用 Quick Setup 中的最小配置:
services:
app:
image: 'docker.io/jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
- 启动容器:
docker compose up -d
- 在 81 端口打开管理界面,例如
http://127.0.0.1:81。首次启动会因为生成密钥而稍慢 管理入口。域名、上游服务和证书的配置都在这个界面中完成。
家庭场景下,README 给出的做法是在路由器上把 80/443 端口转发到运行本项目的服务器,并把域名指向家庭公网 IP,可以用静态 IP,也可以借助 DuckDNS、Route53 或 Cloudflare 之类的动态 DNS 服务 托管说明。
使用约束
- 2.14 及之后版本不再支持
armv7,原因是 Node.js 放弃 armhf 支持;该架构用户需改用2.13.7镜像标签 平台说明。 - 容器需要占用 80、81、443 端口,以及
/data和/etc/letsencrypt两个持久化卷;快速开始中的 compose 配置被描述为最低要求,更多选项见 完整安装文档。 - 自动签发证书依赖域名解析到宿主机、且外部能访问 80/443 端口,这也是托管部分要讲端口转发和 DNS 的原因。
- 项目采用 MIT 许可证,接受向
develop分支提交 PR,正式版本从master分支发布 贡献说明。
讨论背景
2022 年的一条 HN 讨论获得 81 分、76 条评论 讨论帖。有用户报告运行问题:一位用户称认证相关的缺陷导致部分自建服务在未认证的情况下暴露 评论,另一位用户称服务器重启后所有代理主机的 SSL 证书被错误分配,需要逐个打开再保存才能恢复 评论。也有用户更倾向直接使用原生 Nginx、Caddy 或 NixOS 层配置,减少中间组件 NixOS 示例、Caddy 反代;一位长期用户改用 Caddy Docker Proxy,因为直接在 compose 文件中配置更符合他的习惯 评论。这些是当年的个人报告,并非经过验证的当前行为,但如果你要把服务公开到公网,值得优先复核这些方面。
HotRepo 点评
在 2026-11-14 的 JavaScript 日榜记录中,仓库累计 34,708 个 Star、3,974 个 Fork,当天新增 15 个 Star,位列该语言榜第 5。这只是单次快照,不构成趋势判断:现有数据无法说明关注度是在上升还是持平。可以从快照确认的是,这个 2017 年出现的 Nginx 封装项目在发布多年后仍有大量收藏和当日新增 Star;而 2022 年的 HN 讨论则体现出它的取舍——以免手写配置换来便利,同时也有用户对可靠性表达了担忧。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。