编程 Nginx Proxy Manager:用 Web 界面管 Nginx 反代,armv7 要停在 2.13.7

2026-10-11 00:04:38

Nginx Proxy Manager:用 Web 界面管 Nginx 反代,armv7 要停在 2.13.7

Nginx Proxy Manager 把 Nginx 的反向代理和 SSL 终止包成一个 Web 管理台。仓库 34.4k stars,MIT license,默认分支是 develop(官方 release 从 master 出),累计 2,615 commits;官网是 nginxproxymanager.com。一句话定位:Docker container for managing Nginx proxy hosts with a simple, powerful interface。

作者做这个项目的出发点很直白——给自己名下的 host 做反向代理加 SSL 终止,方式要简单,简单到猴子都会。高级选项可以有,但都是可选项,默认路径尽量压低门槛。

功能范围

  • 管理界面基于 Tabler,兼具观感和安全性(Admin Interface)
  • 不需要懂 Nginx,就能创建 forwarding domains、redirections、streams、404 hosts
  • SSL 可用 Let's Encrypt 免费签发,也可上传自定义证书
  • Access Lists 与 basic HTTP Authentication
  • 高级 Nginx 配置只对 super user 开放
  • 用户管理、权限、审计日志(User management, permissions, and audit log)

armv7:2.14+ 不再支持

armv7 从 2.14 起不再支持,根因不在项目本身,而是 Nodejs 放弃了 armhf。受影响的环境把镜像 tag 退到 2.13.7。

托管家庭网络的基本盘

要让外网访问家里的服务,三件事先落地:

  1. 路由器上把 80 和 443 做端口转发到服务器;
  2. 域名解析指向家里,可以是静态 IP,也可以用 DuckDNS / Amazon Route53 / Cloudflare;
  3. 用 Nginx Proxy Manager 当网关,转发到其它 web 服务。

快速部署

装好 Docker,写 docker-compose.yml:

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。

./data 和 ./letsencrypt 这两个卷要挂出来,前者是应用数据,后者放证书;不持久化的话,容器重建时配置和证书都得重来。启动后界面有时不会立刻可用,多等一会儿——原因是 key 生成的熵(entropy)不够。

参与贡献

PR 提交到 develop 分支,CI 必须通过。develop 分支的文档预览在 https://develop.nginxproxymanager.com。

复制全文 生成海报 Web管理 Nginx 反向代理 Docker

推荐文章

程序员茄子在线接单