ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

不会配 Nginx 也能做反向代理?3 步上手中文可视化工具 nginx-proxy-manager-zh

不会配 Nginx 也能做反向代理?3 步上手中文可视化工具 nginx-proxy-manager-zh 不会配 Nginx 也能做反向代理3 步上手中文可视化工具 nginx-proxy-manager-zh【免费下载链接】nginx-proxy-manager-zh基于nginx-proxy-manager翻译的中文版本项目地址: https://gitcode.com/gh_mirrors/ng/nginx-proxy-manager-zh深夜两点你对着密密麻麻的 nginx.conf 反复删改一个分号放错位置整个站点 502……这种画面是不是似曾相识反向代理、SSL 证书、访问控制每一项单独看都不算难可一旦要管理七八个服务纯命令行操作就成了体力活。nginx-proxy-manager-zh 正是为这个场景而生的一款把 Nginx 反向代理配置搬进网页、并且全程中文的免费开源工具。本文不讲理论只讲怎么用它把一台服务器上的多个服务安全地暴露出去全程 3 步搞定跟着操作即可。一、先认清痛点反向代理为什么总让人头疼在开始之前先聊聊你大概率遇到过的三个麻烦配置语法劝退Nginx 的配置文件语法严谨但门槛高新手容易在缩进、分号、层级上反复踩坑改错一行就要重载测试。证书申请繁琐Lets Encrypt 的签发流程本身不复杂但要手动拼接验证目录、配置自动续期每次都要查一遍文档。多人协作无门团队里几个人都要管服务账号却只有一个要么共享密码要么干脆让运维一个人扛。这三点叠加在一起就是很多人宁可手动改文件也不愿上系统的原因。而今天要介绍的工具恰好把这三点全部按平了。二、nginx-proxy-manager-zh 是什么给 Nginx 装上可视化驾驶舱一句话概括它是原版 nginx-proxy-manager 的中文翻译版本把 Nginx 反向代理的配置能力完整封装进一个 Web 管理界面同时把界面语言全面中文化让中文用户不再对着英文菜单猜功能。它的核心能力可以用一张清单说清楚能力具体表现可视化反向代理表单式添加、修改、删除代理主机即时生效SSL 证书自动化内置 Lets Encrypt申请、续期、状态查看全自动灵活访问控制按 IP 段或登录账号限制谁能访问哪个服务多用户权限体系支持多个账号按角色分配查看和管理权限非 HTTP 转发支持 TCP/UDP 流转发数据库、SSH 也能代理对新手来说它把会配 Nginx这个前置条件直接抹掉了对老手来说它省掉了大量重复劳动。下面我们就把它跑起来。三、3 步部署一台服务器、一份配置、一条命令第 1 步准备环境你只需要满足三个条件已安装 Docker 与 Docker Compose服务器内存至少 1GB磁盘建议预留 10GB 以上80、81、443 三个端口对外开放申请证书和 HTTPS 访问都依赖它们第 2 步获取项目并编写编排文件先克隆仓库代码git clone https://gitcode.com/gh_mirrors/ng/nginx-proxy-manager-zh cd nginx-proxy-manager-zh然后在项目根目录创建docker-compose.ymlversion: 3 services: app: image: chishin/nginx-proxy-manager-zh:release restart: always ports: - 80:80 - 81:81 - 443:443 volumes: - ./data:/data - ./letsencrypt:/etc/letsencrypt这份配置做了三件事把管理面板绑定到 81 端口、把流量入口绑定到 80/443、把数据库和证书目录挂载到宿主机以便备份。其中./data存放配置数据库./letsencrypt存放证书两个目录以后都要定期备份。第 3 步启动并验收docker-compose up -d等待一分钟后浏览器访问http://你的服务器IP:81看到下面这个登录页就说明部署成功整个部署过程没有碰过一行 Nginx 配置这就是可视化管理工具的价值所在。四、首次登录换掉默认密码认识你的控制台系统默认给你准备了一个管理员账号邮箱adminexample.com密码changeme用这套默认账号登录后系统会立刻引导你修改管理员邮箱和密码——这一步请务必完成别让服务器裸奔在默认口令下。改完密码进入主界面你会看到仪表盘左侧菜单把功能分得清清楚楚仪表盘、证书、访问列表、主机含代理、重定向、流、404 主机、用户、审计日志。接下来我们按真实需求逐个使用它们。五、实战把本地服务一键暴露到公网假设你有一个跑在http://localhost:3000的 Web 应用希望别人通过myapp.example.com访问。按下面四步操作1. 新建代理主机进入「主机」→「代理主机」点击添加代理主机会弹出如下配置表单2. 填写四组关键参数字段填写内容说明域名myapp.example.com外部访问地址方案http按源服务的协议选择转发主机名 / IPhost.docker.internalDocker 容器内访问宿主机用这个转发端口3000源服务实际监听端口如果是部署在局域网其他机器上的服务把转发主机名填成对应的内网 IP 即可。3. 切到 SSL 标签勾选自动签发切到「SSL」标签页选择Lets Encrypt作为证书来源填入接收通知的邮箱勾选强制 SSL和HTTP/2 支持然后保存。系统会替你完成向 Lets Encrypt 申请证书的全过程你只需要等待几十秒。完成后所有证书的状态、签发者、到期时间都会汇总在证书管理页4. 保存生效点击保存配置立即生效不需要重启任何服务。现在用浏览器打开https://myapp.example.com应该能正常访问你的应用并且地址栏带上了小锁。回到代理主机列表每个服务的域名、目标、SSL 状态、访问权限、开关状态一目了然六、权限管控让该进的人进不该进的进不来服务多了以后谁能访问什么就成了下一个问题。这个工具提供两层防护第一层访问列表Access List。你可以创建多条访问规则每条规则支持两种模式——按 IP 段放行/封禁或者按登录账号认证。比如给内网管理后台只放行公司出口 IP给客户系统开启账号密码认证把建好的访问列表挂到代理主机的「访问列表」标签页规则即刻生效。两层叠加IP 白名单 账号认证就是双保险。第二层多用户与角色权限。在「用户」页面创建成员账号然后分别授予不同权限。比如普通成员只能查看代理列表管理员才能增删改和签发证书。团队协作时每个人用自己账号登录谁干了什么都记录在审计日志里。七、进阶玩法重定向、流转发与自定义配置把基本代理跑通之后这三个高频需求也能在界面上直接完成域名搬家旧域名要 301 跳转到新域名在「重定向主机」里填源域名、目标 URL选永久重定向(301)即可比手写 rewrite 规则快得多。非 HTTP 服务转发数据库、SSH、游戏服务器这类 TCP/UDP 服务走「流」功能。配置外部端口与内部地址的对应关系即可无需接触 Nginx 的 stream 配置。404 兜底主机未匹配到任何代理规则的请求可以统一交到一个 404 页面避免信息泄露也让错误页不那么难看。自定义 Nginx 片段如果确实需要特殊处理比如特定响应头、location 覆盖在代理主机的「高级」标签页可以直接粘贴自定义配置片段界面之外仍保留足够的灵活性。自定义设置全局层面还可以调整 HSTS、IPv6、日志等级等项都在「设置」菜单里以表单形式呈现想改哪项勾哪项。八、避坑指南四个高频问题一次说清Q1SSL 证书申请一直失败按顺序排查域名是否解析到本机 IP → 服务器 80/443 端口是否对外开放 → 防火墙是否拦截了 Lets Encrypt 的验证请求。三者通常能解决九成问题。Q2代理配置好了但访问不通先确认源服务本身正常再核对转发 IP 和端口有没有填错。仍不行就执行docker logs 容器名看 Nginx 日志错误原因基本都会写出来。Q3数据怎么备份两个目录最重要直接复制带走cp -r ./data ./data_backup_$(date %Y%m%d) cp -r ./letsencrypt ./letsencrypt_backup_$(date %Y%m%d)Q4怎么升级到新版本docker-compose down docker-compose pull docker-compose up -d数据目录挂载在外面升级不会丢配置。九、上生产前先把这几条安全底线守好工具再顺手安全意识不能丢。以下几点请对照检查第一时间改掉默认账号密码这是最高优先级。管理端口 81 尽量只对可信 IP 开放可以在防火墙层面限定来源。审计日志定期翻看登录失败、配置变更都有记录异常早发现。权限遵循最小化原则给每个成员够用的最小权限而不是一刀切给管理员。关注版本更新及时跟进修复安全漏洞的版本。十、写在最后从被 nginx.conf 支配到在网页上点几下就完成代理配置中间只隔着一个 nginx-proxy-manager-zh。它没有改变 Nginx 本身改变的是你与 Nginx 的交互方式中文界面降低学习成本表单操作消灭语法错误自动化续期解放运维双手多用户权限让团队协作成为可能。无论你是刚入门的个人开发者还是需要统一管理多台服务的小团队都可以从今天这篇部署指南开始把它跑起来把第一个服务代理出去。剩下的交给时间——你会发现管理网站服务这件事原来可以这么轻松。【免费下载链接】nginx-proxy-manager-zh基于nginx-proxy-manager翻译的中文版本项目地址: https://gitcode.com/gh_mirrors/ng/nginx-proxy-manager-zh创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表