尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

nginx-proxy-manager-zh 完整上手指南:从 Docker 部署到自动续期 HTTPS,附排错速查

nginx-proxy-manager-zh 完整上手指南:从 Docker 部署到自动续期 HTTPS,附排错速查 nginx-proxy-manager-zh 完整上手指南从 Docker 部署到自动续期 HTTPS附排错速查【免费下载链接】nginx-proxy-manager-zh基于nginx-proxy-manager翻译的中文版本项目地址: https://gitcode.com/gh_mirrors/ng/nginx-proxy-manager-zhnginx-proxy-manager-zh 是一款中文界面的 Nginx 反向代理管理工具Docker 一键部署用图形化界面管理代理规则、Lets Encrypt 证书与访问控制不用手写一行 nginx.conf。下文按你想完成的事组织部署、上第一个 HTTPS 站点、管多个站点、进阶定制、排错。⚙️ 它是怎么工作的表单如何变成 Nginx 配置先说结论三句话你在网页表单里做的每次改动加主机、开 HTTPS、关联访问列表后端都会翻译成一段 Nginxserver配置真正的渲染发生在 backend/templates/ 下的 Liquid 模板里域名、转发端口、证书路径等变量被逐一填入proxy_host.conf、redirection_host.conf等模板渲染完成后写入容器内/data/nginx目录并 reload Nginx几秒生效不需要重启容器。所以图形化管理不是概念包装界面上每个字段最终都能在同一份模板里找到对应位置。项目各模块分工如下目录职责frontend/基于 Tabler 的中文管理界面页面逻辑在 frontend/js/app/backend/routes/REST API 入口按资源拆分proxy_hosts.js、certificates.js、users.js等backend/internal/业务模块proxy-host.js 生成主机配置certificate.js 管理证书申请与续期backend/templates/Nginx 配置模板_access.conf、_certificates.conf等子模板按需拼装backend/models/ 与 backend/migrations/数据模型与表结构支持 SQLite / MySQL / PostgreSQL 用 Docker Compose 部署 nginx-proxy-manager-zh目标是让容器跑起来并访问到 81 端口的管理界面。前提是服务器已装好 Docker 与 docker compose。准备 compose 文件在项目目录下创建docker-compose.ymlversion: 3 services: app: image: chishin/nginx-proxy-manager-zh:release # 中文界面镜像 restart: always ports: - 80:80 # HTTP代理流量与证书验证 - 81:81 # 管理界面 - 443:443 # HTTPS volumes: - ./data:/data # 数据库、生成的配置、访问日志 - ./letsencrypt:/etc/letsencrypt # 证书持久化三个端口的分工80/443 走代理流量同时也是 Lets Encrypt 的验证通道81 是管理入口。两个挂载卷决定数据会不会丢/data存数据库和渲染出的配置/etc/letsencrypt存证书本体重建容器后都还在。执行docker compose up -d启动首次拉取镜像稍等片刻。首次登录与强制改密打开浏览器访问http://服务器IP:81用默认账号登录邮箱密码adminexample.comchangeme登录后系统立即强制你修改邮箱和密码无法跳过。邮箱别随便填证书快过期时提醒信就发到这个地址。 上线第一个 HTTPS 站点这一步做完你的域名就有 HTTPS 且证书自动续期。添加代理主机左侧菜单进入主机 → 代理主机点添加代理主机域名如app.example.com支持通配符如*.example.com协议目标服务实际监听 HTTP 还是 HTTPS转发主机名/IP目标服务的内网 IP 或 Docker 网络里的容器名转发端口目标服务的监听端口保存后回到列表页此时域名已能通过 HTTP 访问。给代理主机开启自动 HTTPS编辑该主机切到SSL标签页证书来源选Lets Encrypt填入收提醒的邮箱按需勾选强制 SSLHTTP 请求 301 跳到 HTTPS、HTTP/2、HSTS保存稍等片刻证书签发完成。两个前置条件必须满足否则签发必然失败域名的 A 记录已解析到这台服务器80/443 端口对公网可达Lets Encrypt 走 HTTP-01 验证。Lets Encrypt 证书有效期 90 天nginx-proxy-manager-zh 会在到期前自动续期无需人工干预通配符域名则需要 DNS 验证要额外装对应 DNS 插件下文排错部分会讲。 管好多个站点访问控制、重定向与批量管理站点多了以后界面里这五类对象要分开用对象用途代理主机把域名流量转发到后端服务重定向主机只做 301/302 跳转如裸域跳 www不占后端服务死主机显式拒绝的域名兜底拦住未备案/无效子域流StreamTCP/UDP 非 HTTP 转发数据库端口、游戏服等访问列表一组 IP/CIDR 或 Basic Auth 规则挂到代理主机上生效用访问列表控制谁能进在访问列表中新建一条填名称逐行添加 IP 或 CIDR如192.168.1.0/24选择匹配语义满足任一规则即可还是必须同时满足再在代理主机上关联它。也可以改用 HTTP Basic 认证方式做准入。注意规则里还有一条隐含逻辑所有列出的规则之外一律拒绝所以白名单场景不用额外写 deny。批量管理思路界面上新建 填写重复 N 次不划算两条路直接调 REST API接口定义在 backend/routes/先在令牌页生成 API Token脚本里带Authorization头即可批量创建主机模板化同类服务如一批 Nextcloud 实例共用一个访问列表和相同的 SSL 选项只改域名和转发地址。️ 进阶模板定制、性能参数与日志监控改模板或注入自定义指令两个层级可选界面级编辑主机时高级配置文本框里的内容会原样注入到对应server块对应 proxy_host.conf 中的advanced_config变量改完即 reload模板级直接改 backend/templates/ 下的 Liquid 模板需要随镜像分发适合团队统一改默认行为。常用且安全的性能参数可直接填进高级配置proxy_connect_timeout 60s;proxy_send_timeout 60s;proxy_read_timeout 60s;—— 调大上游超时避免慢接口 504keepalive_timeout 75s;—— 拉长连接复用窗口gzip on; gzip_min_length 1024;—— 对文本类响应开启压缩改动前先nginx -t验证坏配置不会被加载旧配置继续服务。日志与监控日志有三个层次单主机日志每个代理主机有独立文件如/data/logs/proxy-host-3_access.log模板里按主机 ID 命名排某个域名的问题不用在总日志里捞界面审计日志审计日志菜单可查谁在什么时候改了哪条配置容器级命令如下。docker logs -f 容器名 # 跟踪后端输出 docker exec 容器名 nginx -t # 校验 Nginx 配置语法 docker stats 容器名 # 看 CPU/内存占用 排错速查三个高频问题证书申请失败怎么排查按命中率从高到低依次检查域名是否真的解析到这台服务器dig short 域名注意本地 DNS 缓存80/443 是否被防火墙拦截尤其云服务器的安全组看容器日志里的 certbot 报错确认是验证失败还是网络不通。代理无法访问怎么排查先分清是连不上后端还是Nginx 没转发过来docker exec 容器名 curl -I http://目标IP:端口 # 从容器里直连后端 docker exec 容器名 nginx -t # 配置是否合法再依次核对后端服务是否在监听该端口转发地址填的是宿主机 IP 时Docker 网络下是否应改用容器名主机上挂的访问列表是否把你的 IP 挡在外面规则外一律拒绝。DNS 插件依赖缺失dnspod 等怎么补通配符证书需要 DNS 验证插件部分架构尤其 ARM下插件安装可能不完整表现为签发卡在 DNS 步骤。进容器手动补齐依赖docker exec -it 容器名 bash python3 -m pip install --upgrade pip pip install certbot-dns-dnspod zope装完重新触发证书申请。 适合谁以及下一步做什么适合自建服务多但没精力维护 nginx.conf 的人个人站点、小团队内部系统、需要统一 HTTPS 入口的家庭实验室。下一步就两件事把现有服务逐个加进代理主机并开启自动续期给管理界面 81 端口配一条访问列表只允许你自己的 IP 段访问。做完这两件日常运维基本可以只剩看审计日志。【免费下载链接】nginx-proxy-manager-zh基于nginx-proxy-manager翻译的中文版本项目地址: https://gitcode.com/gh_mirrors/ng/nginx-proxy-manager-zh创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表