nginx-proxy-manager-zh 上手终极指南:5 分钟可视化配置反向代理,一键搞定 SSL 证书与访问控制
nginx-proxy-manager-zh 上手终极指南:5 分钟可视化配置反向代理,一键搞定 SSL 证书与访问控制
【免费下载链接】nginx-proxy-manager-zh基于nginx-proxy-manager翻译的中文版本项目地址: https://gitcode.com/gh_mirrors/ng/nginx-proxy-manager-zh
深夜十一点,你刚把一个新网站部署到服务器,正要上线却发现还差 HTTPS。装 certbot、手改 nginx 配置文件、写 location 规则、设证书自动续期……整套流程折腾下来,天都亮了。如果你也曾被"Nginx 全靠命令行"劝退,那 nginx-proxy-manager-zh 就是为你准备的答案——它是 nginx-proxy-manager 的完整中文版,把反向代理、SSL 证书、访问控制全部收进一个图形化面板,点几下鼠标就能让一个站点以 HTTPS 姿态上线。
一、先搞清楚:它到底是什么,又不是什么
一句话定义
nginx-proxy-manager-zh 是一个带 Web 界面的 Nginx 管理工具,让你不写一行配置文件,就能完成反向代理、证书签发、访问限制、用户权限等日常操作。底层依然是成熟的 Nginx,只是把复杂的配置工作交给了图形界面和自动化脚本。
四个"它不是"(帮你打消顾虑)
| 常见误解 | 实际情况 |
|---|---|
| 它是云托管平台? | 不是。数据和配置都在你自己的服务器上,完全自主可控。 |
| 它会取代 Nginx? | 不会。它负责"替你写 Nginx 配置",省的是手写配置的功夫。 |
| 只有程序员能用? | 不是。团队里不懂命令行的运维、产品同事,一样能上手操作。 |
| 用了它就不能再碰命令行? | 不是。高级设置里保留了自定义 Nginx 片段入口,想深度定制随时可以。 |
登录后的仪表盘会把证书到期、主机数量、访问概况一目了然地摆在你面前,整个项目的代码结构也很清晰——后端逻辑在backend/,界面在frontend/,容器编排在docker/,想二次开发也容易找到门路。
图 1:仪表盘把证书状态、代理主机等关键信息集中展示,一屏掌握全局。
二、拆开看:四个核心能力,个个能打
能力一:可视化反向代理,填四个字段就上线
解决什么问题:把散落在内网各处的服务统一用域名暴露出去,不用再手写server{}块、location规则和upstream。
关键用法:左侧菜单进入"主机 → 代理主机",点"添加代理主机",填上域名、协议、转发地址和端口,保存即生效。
一句话评价:过去要花半小时的配置,现在两分钟搞定,还能随时改随时删。
图 2:代理主机列表清晰展示每个域名对应的转发目标和启用状态。
能力二:SSL 证书自动化,申请续期都不用操心
解决什么问题:Let's Encrypt 的申请流程、DNS 验证、证书续期提醒,这些最磨人的环节全部交给系统自动处理。
关键用法:在证书页选择"Let's Encrypt"并填入邮箱,系统会自动完成验证与签发;到期前还会自动续期,基本做到"装好就忘"。
一句话评价:HTTPS 从"一件麻烦事"变成了"一个开关"。
图 3:证书管理面板列出每张证书的有效期与签发状态,到期提醒一目了然。
能力三:访问控制,谁能进来由你说了算
解决什么问题:有些服务只想给特定 IP 或特定账号访问,比如内部管理后台、测试环境。
关键用法:创建访问控制列表(Access List),既能按 IP 段放行/拦截,也能叠加用户名密码认证,再把它挂到对应的代理主机上。
一句话评价:相当于给每个站点装了一道可以随时开关的门禁。
图 4:访问控制列表支持 IP 规则与身份认证两种方式组合使用。
能力四:多用户权限,团队协作不打架
解决什么问题:多人共管一台服务器时,谁都能改配置容易出事,也不安全。
关键用法:管理员可以创建多个账号,为每个账号分配不同的主机可见范围和操作权限,谁负责哪个站,谁就只能动哪个站。
一句话评价:把"服务器管理员"的权限拆成粒度可控的协作模式。
图 5:为不同用户勾选可管理的代理主机,实现最小化权限协作。
三、十分钟跑通全流程:从空服务器到第一个 HTTPS 站点
第 1 步:准备环境
确保服务器装好了 Docker 与 Docker Compose,内存建议不低于 1GB,磁盘留出 10GB 以上余量(证书、日志、镜像都会占空间)。
第 2 步:拿到项目代码
git clone https://gitcode.com/gh_mirrors/ng/nginx-proxy-manager-zh cd nginx-proxy-manager-zh提示:也可以直接使用官方发布的中文 Docker 镜像,跳过源码编译环节。
第 3 步:编写编排文件并启动
在项目目录下新建docker-compose.yml(注意替换为你自己的数据目录名):
version: '3' services: app: image: 'chishin/nginx-proxy-manager-zh:release' # 中文版镜像 restart: always ports: - '80:80' # HTTP 入口 - '81:81' # 管理面板入口 - '443:443' # HTTPS 入口 volumes: - ./npm-data:/data # 配置与数据库持久化 - ./npm-letsencrypt:/etc/letsencrypt # 证书持久化启动并等待服务就绪:
docker-compose up -d第 4 步:首次登录,立刻改密码
浏览器访问http://服务器IP:81,使用默认账号进入系统:
| 项目 | 默认值 |
|---|---|
| 登录邮箱 | admin@example.com |
| 登录密码 | changeme |
登录后会强制要求修改管理员信息与密码,这一步千万别跳过。
图 6:简洁的中文登录页,默认账号仅供首次进入,登录后请立即更换。
第 5 步:添加你的第一个代理主机
换一个更贴近日常的场景:假设你家内网有一台192.168.1.100的机器,跑着一个端口为8080的相册程序,你希望用photos.example.com在外网访问它:
- 域名:
photos.example.com - 方案:
http(目标程序支持 HTTPS 时再选https) - 转发主机名 / IP:
192.168.1.100 - 转发端口:
8080
切到"SSL"标签页勾选"Let's Encrypt"并填入邮箱,保存后系统会自动完成证书签发。整个过程就像填一张表单,保存即生效。
图 7:添加代理主机时,域名、转发目标、SSL 选项都集中在同一张表单里。
四、你可能不知道的 6 个进阶技巧
技巧 1:用"重定向主机"做 301 跳转。域名换新了、想统一跳转到 HTTPS 站点?不必动 Nginx,在"主机 → 重定向主机"里配一条源域名和目标地址即可,老链接自动指向新地址。
图 8:重定向主机支持 301/302 等跳转方式,适合域名迁移与统一 HTTPS。
技巧 2:用"流"转发非 HTTP 服务。数据库、SSH、游戏服务器这类 TCP/UDP 流量,代理主机管不了,但"主机 → 流"可以按端口做转发,外网端口对应内网服务的端口即可。
技巧 3:用"死主机"做兜底页。某些域名暂时没有后端服务时,可以配置一个返回固定页面的死主机(Dead Host),避免访客看到裸 Nginx 错误页,也适合做下线维护提示。
图 9:死主机可为暂无后端的域名提供统一占位页,体验更友好。
技巧 4:高级设置里写自定义 Nginx 片段。需要特殊缓存策略、额外响应头时,直接在主机的高级选项卡里粘贴配置片段,系统会把它合并进生成的配置里,兼顾灵活与便捷。
技巧 5:用审计日志复盘每一次改动。谁在什么时候改了什么配置,全部记录在审计日志中。排查"配置怎么被改了"的纠纷时,这里就是证据库。
图 10:审计日志按时间记录每个用户的操作,团队协作时心里有数。
技巧 6:用自定义设置注入全局配置。想给所有站点统一加响应头或调整参数?在设置里使用自定义 Nginx 配置即可全局生效,不用逐台主机去改。
图 11:自定义设置把全局配置集中到一处,改一次、处处生效。
技巧 7:生产环境把 SQLite 换成 MySQL / PostgreSQL。默认的轻量数据库适合单机场景;站点多了以后,可以参考backend/config/default.json的数据库配置,或docker/docker-compose.dev.yml里的示例切换到独立数据库,稳定性更上一层。
技巧 8:升级要"拉镜像、不删数据"。升级的正确姿势是先docker-compose down,再docker-compose pull拉取新版本镜像,最后docker-compose up -d重启——千万不要顺手把挂载的数据目录删掉,那等于把配置和证书一起丢了。
五、新手最容易踩的 6 个坑(附避坑办法)
| 坑 | 症状 | 怎么避开 |
|---|---|---|
| 证书申请一直失败 | 页面提示验证不通过 | 先确认域名解析正确指向服务器 IP,再检查服务器 80/443 端口是否对外开放、防火墙是否放行。 |
| 代理后站点 502 | 访问域名报网关错误 | 先确认目标服务本身在运行,再核对转发地址与端口是否填对;内网环境建议先在本机 curl 验证目标可达。 |
| 默认账号密码没换 | 面板被人登录 | 首次登录后立刻修改管理员密码,这是上线前的第一件事。 |
| 管理面板裸奔公网 | 81 端口对全网开放 | 面板端口只对可信 IP 或内网开放,或用访问控制限制管理界面入口。 |
| 容器重启后配置全丢 | 数据突然回到初始状态 | 部署时务必挂载/data与/etc/letsencrypt数据卷,定期把这两个目录复制备份。 |
| 升级时误删数据 | 证书、主机配置全部消失 | 升级只执行 down / pull / up 三步,不碰挂载目录;升级前先备份。 |
六、写在最后:它到底适合谁
对个人开发者来说,它省下了反复折腾 Nginx 的时间,让你把精力放回业务本身;对小团队来说,多用户与权限体系让"谁负责哪个站"清清楚楚,不再互相踩配置;对企业用户来说,证书自动化、审计日志和数据可迁移的特性,让合规与交接都更省心。
如果你此刻正需要统一管理多个域名、批量签发证书,或者只是想让家里的 NAS 服务安全地暴露到外网,不妨现在就git clone https://gitcode.com/gh_mirrors/ng/nginx-proxy-manager-zh把它跑起来——下一个十分钟,你就能拥有第一个自动续期 HTTPS 的站点。
本篇文章的核心 SEO 关键词列表
- nginx-proxy-manager-zh
- 反向代理可视化配置
- 一键 SSL 证书申请与自动续期
- 中文版 Nginx 管理面板
- Docker 部署反向代理
- 代理主机配置教程
- 访问控制列表
- 多用户权限管理
- 重定向主机与流转发
- 新手避坑指南
【免费下载链接】nginx-proxy-manager-zh基于nginx-proxy-manager翻译的中文版本项目地址: https://gitcode.com/gh_mirrors/ng/nginx-proxy-manager-zh
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
