
nginx-proxy-manager-zh 快速上手指南3 步给自托管服务加上 HTTPS 和自动证书【免费下载链接】nginx-proxy-manager-zh基于nginx-proxy-manager翻译的中文版本项目地址: https://gitcode.com/gh_mirrors/ng/nginx-proxy-manager-zh家里几台设备各跑一个 Web 服务端口从 3000 排到 8096域名指过来却打不开。nginx-proxy-manager-zh 是为这种局面准备的中文界面的反向代理管理器表单里填域名和后端地址它自动写好 Nginx 配置并申请 Lets Encrypt 证书不用手写 conf。 它解决什么问题nginx-proxy-manager-zh 是一个基于 Nginx 的反向代理管理器所谓反向代理就是访客访问你的域名时由它负责把请求转给真正提供服务的机器。它把 Nginx 配置、证书申请、访问控制全部做成中文表单保存后立即生效。中文版本基于官方镜像替换前端实现功能与官方版完全一致只是界面文字不同。适用人群解决的问题家庭自托管新手不会写 Nginx 配置也能做反向代理和 HTTPS小型团队运维Lets Encrypt 证书到期自动续期操作留有审计记录多服务管理员域名按业务拆分统一入口、统一证书、统一访问控制 最短上手路径从空目录到能登录只做三件事。新建 Compose 文件目标是拿到一个端口和数据目录都配好的服务。Compose 文件就是一份描述容器怎么跑的清单在工作目录新建docker-compose.yml镜像用中文版的chishin/nginx-proxy-manager-zh:release挂载./data保证配置和数据库重启不丢若想把证书文件放到容器外再补一行./letsencrypt:/etc/letsencrypt的卷。services: app: image: chishin/nginx-proxy-manager-zh:release restart: always ports: - 80:80 - 81:81 - 443:443 volumes: - ./data:/data启动容器目标是让容器在后台运行并完成首次初始化。在项目目录执行下面命令让 Docker 拉取镜像并启动docker-compose up -d等约半分钟用docker-compose logs app看到 Nginx 启动完成的输出即可。打开管理界面并改密码目标是拿到中文管理入口。浏览器访问http://服务器IP:81用默认账号adminexample.com、密码changeme登录。首次登录会强制修改密码和邮箱。建议用密码管理器生成强密码邮箱要真实可用证书到期提醒就发到这里。 核心功能逐个看添加第一个代理主机代理主机就是一条域名 → 后端服务的转发规则也是这个工具最常用的功能。在主机 → 代理主机里点添加填写域名、转发主机名或 IP、转发端口即可后端是 Docker 服务时转发地址直接写容器名。保存后列表里会出现这个域名并显示已启用浏览器直接访问该域名就能打到后端配置由 Nginx 配置模板 自动生成并加载。配置 Lets Encrypt 证书自动续期Lets Encrypt 是免费证书机构证书 90 天过期本项目内置自动申请和到期前自动续期。编辑代理主机切到SSL标签证书来源选 Lets Encrypt填邮箱并勾选条款顺带可打开强制 SSLHTTP 自动跳 HTTPS、HTTP/2 和 HSTS。保存几秒后证书列表里会出现这条域名此后自动续期你只需要偶尔看一眼邮件。申请前域名必须已经解析到这台服务器且 80、443 端口能从公网到达否则 Lets Encrypt 的 HTTP 验证会失败。用重定向主机做域名跳转重定向主机只负责跳转、不转发内容典型用途是旧域名改 301 到新域名搜索引擎权重不丢。在主机 → 重定向主机里填来源域名、目标地址和跳转状态码301 或 302保存后访问旧域名会立刻被弹到新地址。用访问列表限制谁能访问访问列表是一份 IP 黑白名单加上账号密码适合给自身没有登录功能的后端服务补一道门。先在访问列表里建规则IP 或 CIDR 段可选基本认证再回到代理主机编辑页把这份列表关联上。之后只有名单内的客户端能打开页面未授权请求直接收到 403。用 404 死主机兜底未知域名死主机是一条兜底规则别人直接扫你的公网 IP、访问任何没配置过的域名时看到的是一个自定义 404 页而不是服务器默认页。在主机 → 404 死主机里填一个占位域名比如dead.你的域名保存后访问任意陌生域名都会落到这个页面。 两个真实场景家庭自托管三台服务、一个入口小李把 Jellyfin、Nextcloud、Grafana 装进家里的 Docker 主机三个端口各不相同手机在外网想访问就得记三个地址。他在 nginx-proxy-manager-zh 里建了三条代理主机域名分别用jellyfin.、cloud.、grafana.加家庭域名转发地址写 Docker 网络里的容器名SSL 全部选 Lets Encrypt 并打开强制 SSL。二十分钟后他在外面用 4G 打开 Jellyfin绿锁亮起Nextcloud 同步照常。对缓存和 WebSocket 有要求的服务他在编辑页的高级里补了几行自定义 Nginx 指令不用重新构建镜像。此后家里每加一个服务就是复制一次表单的事。小团队部署统一入口、责任到人一个五人小组把内部 Wiki 和部署面板放在一台 VPS 上公网只开 80、443。入口就是 nginx-proxy-manager-zh两条代理主机按子域名拆分Wiki 本身没有登录体系于是套了一份访问列表IP 白名单加基本认证双保险老域名用重定向主机 301 到新地址。团队里只给运维留了管理员账号其他成员只读谁在什么时候改了哪条主机打开审计日志都能查到。⚠️ 避坑清单与延伸阅读现象原因处理证书申请一直失败域名未解析到服务器或 80 端口不通先确认解析记录再查防火墙和路由器端口转发容器重建后配置消失没挂载./data数据卷按 Compose 文件补上卷挂载数据库和证书都在/data下转发地址是容器名却连不通代理容器与后端不在同一 Docker 网络把两边接进同一个网络或直接写可解析的容器名通配符域名申请证书报错没启用 DNS 验证方式SSL 页勾选使用 DNS 验证填对应服务商的凭据文件ARM 服务器上 DNSPod 插件创建证书失败镜像缺zope依赖进入容器执行pip install zope certbot-dns-dnspod后重试延伸阅读仓库内文档安装指南、使用指南、FAQ关键源码目录API 路由、后端业务逻辑、前端界面它管的是域名进来、请求转走、证书维护这一层服务本身的部署、备份和升级仍要你自己负责。如果将来需要多上游负载均衡或 Ingress 级别的编排再考虑回到原生 Nginx 或 Kubernetes 方案。【免费下载链接】nginx-proxy-manager-zh基于nginx-proxy-manager翻译的中文版本项目地址: https://gitcode.com/gh_mirrors/ng/nginx-proxy-manager-zh创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考