反代面板 Nginx Proxy Manager:证书、域名与端口一次配好

自建服务 · 2 分钟阅读· 380 次阅读

自建服务一多,Nginx 配置就成了负担:每个服务一段 server 块,证书续期要记。

NPM 把这些做成了表单:域名、目标地址、证书、访问控制,点几下就完成。

先说结论

统一由 NPM 管 80/443,后端服务只监听内网端口。 这样证书与入口只有一处。

  • 后端服务不要单独映射公网端口
  • 证书用 DNS 挑战更稳,避免 80 端口被占
  • WebSocket 要在高级设置里加 Upgrade 头
  • 访问列表可用于临时保护后台

先把问题说清楚

NPM 本质是 Nginx 的可视化封装,配置最终落成 nginx.conf。理解这一点,排查时就知道去哪看日志。

常见故障是「502 Bad Gateway」:多半是容器网络不通或后端端口写错。

具体怎么做

按顺序执行,每步都验证完再进下一步:

  • 部署 NPM,映射 80/443 与管理端口
  • 为每个服务建 Proxy Host:域名 → 容器名:端口
  • 申请证书并开启强制 HTTPS
  • WebSocket 服务加 Upgrade/Connection 头
  • 对管理后台加访问列表或 IP 白名单

参数与成本对照

把关键数值摊开,方便判断该选哪条路:

配置项 建议 说明
证书 DNS-01 挑战 不依赖 80 端口
HTTP/2 开启 提升加载性能
访问列表 后台必开 基础认证或 IP 白名单
日志 保留 7 天 排查 502 用

反代面板 Nginx Proxy Manager

几个容易踩的坑

下面这些是最常见的错误做法:

  • 后端写 127.0.0.1:容器内 127 不是宿主机
  • 忘记 WebSocket 头:实时功能一直转圈
  • 443 被其他服务占用:证书申请失败
  • 管理端口直接暴露公网

最后补两句

反代的作用是「统一入口」,别让每个服务都自己开一个公网端口。

工具是手段,理解机制才是能力。命令记不住没关系,知道「该看什么」就够了。

评论 (3)

阿
阿哲

照着做了一遍,确实少走弯路。第二步最容易漏,建议顺手加个检查清单。

南
南风

比「一键脚本」有用多了,知道为什么比知道怎么做重要。

K
Kevin

补充一句:不同版本行为会变,动手前先确认自己的版本号。

发表评论

验证码

提交后需站长审核,通过后才会显示。