反向代理神器,NAS平台,Nginx Proxy Manager,保姆级教程
在国内玩 NAS,想把一堆内网服务优雅地收口到一个域名下,既要省事、又要安全,反向代理就是那把顺手的瑞士军刀。很多朋友习惯用 Lucky,确实轻巧好用;但如果你一些特殊需求,需要Nginx 之类来解决,那么 Nginx Proxy Manager 会是一个靠谱的选择。(后文简称NPM)
写这篇文章并不是要「二选一」地替换 Lucky,而是提供另一条同样通畅的方法:你同样会得到一个内网安全、外网可达、证书自动化的标准化入口,把 Jellyfin、Photoprism、Home Assistant、私有博客等各类服务从杂乱的端口中打捞出来,整齐地挂到你的域名之下。
以我的个人习惯来说,国内NAS一般使用Lucky,海外VPS则会选择NPM。
之前写过NPM分享,但只是针对VPS,因此补充NAS篇。也因为要分享的下一个项目会用到NPM,方便下篇以及后续引用吧~
鉴于国内网络环境,本文默认大家已经做好了DDNS。在“独立域名 + 自己托管 DNS(阿里云/腾讯云/Cloudflare)+ 跑在 NAS 上”的场景里,ddns-go 是目前最省心、最通用的DDNS开源方案,教程也挺多了吧?不过如果有需要,我会再补一篇相关的使用流程。
项目介绍
简单介绍下NPM:
Nginx Proxy Manager 是一款基于 Docker 的可视化反向代理与证书管理面板,帮你把家里或办公室网络中的各类 Web 服务统一接入到公网或内网域名下,支持一键签发/续期 Let’s Encrypt 证书,几乎不需要你手写 Nginx 配置。适合想要“图形化、少折腾、能稳定跑”的 NAS/自建党用户。
说白了就是图形化的 Nginx 。
准备工作
之前买的一个备用域名,就拿它来做演示。

先去你域名所在平台申请密钥,用于后续申请证书。因为国内环境走不了常规端口,所以要这么干。
阿里云的给大家指个路。

创建,这两项保存好备用,关掉后就不会再显示。

部署流程
还是以威联通NAS为例,不过基本适配所有品牌,改改文件映射目录即可。
(看看威联通刚发布的新品 Qu805-N355,终于拿到咯~3k6香爆!)


代码如下:
services:
app:
image: jc21/nginx-proxy-manager:latest # 中文版为 chishin/nginx-proxy-manager-zh:latest
container_name: npm # 名称可自定义
restart: always
environment:
TZ: Asia/Shanghai # 时区
DISABLE_IPV6: "true" # 国内IPv6链路常不稳,先关
volumes:
- /share/Container/npm/data:/data
- /share/Container/npm/letsencrypt:/etc/letsencrypt
ports:
- "81:81" # 管理面板(仅局域网用)
- "8442:80" # 公网HTTP(非常用端口)
- "8443:443" # 公网HTTPS(非常用端口)
中文镜像并没有重新构建后端代码,中文镜像基于官方镜像替换前端代码来实现的,所以中文版本的全部功能与官方版本完全相同,只是显示界面的文字不同的区别。(lateset release 2.12.6)

冒号左侧的三个端口皆可替换成NAS未占用端口。
81是管理面板,一般不建议直接转发到公网,如果像我一样远程配置可以先开一会儿,搞定后再停用或删掉~
8442、8443两个端口则一定要转发到公网~

使用展示
按照上面代码部署完毕后,浏览器输入 NAS_IP:81 即可访问界面进行配置。
默认账户:admin@example.com
默认密码:changeme

初次登陆提示修改初始登录邮箱和密码。
这个邮箱后面用来发送证书提醒。若随便填写的话,符合邮箱格式就行,真伪不重要,另外咱们得能记得住~

旧密码、新密码、确认新密码,保存即可。

来到首页,点击下图红框标志。其他几个是跳转、转发和404兜底。

下面点哪里都可以,添加反向代理。

逐步来设置。
内网服务是 http 就选 http;若后端自己跑了 https,就选 https。IP和端口部分,填写后端服务的主机名或内网 IP,简单说就是这个IP+端口能成功访问服务就行。Cache Assets是静态资源缓存,一般建议纯静态站开启,大家按需求选择。点击保存。

可以看到,这时候已经完成了绑定。

通过刚才配置的域名+8442,就能访问服务。不过通过该域名访问可以看到,显示不安全。

接着点击开始配置证书~

到这步,我们为NPM配置完毕后,建议删掉上面路由中81端口的转发~
✅ 单个域名证书申请
本小节情况是针对某一个子域名单独申请证书。该小节结束后,会再演示泛域名证书以应多,如果NPM常驻为主要反代工具,建议直接进行泛域名申请~

Force SSL:开
HTTP/2 Support: 开
HSTS Enabled: 建议开(浏览器强制用 HTTPS)
HSTS Subdomains:只有当所有子域都走 HTTPS 时再开,否则先关
Email Address for Let’s Encrypt:填你的邮箱
I Agree to the TOS: 勾上
因 80 等常规端口不可用,勾 Use a DNS Challenge,接着选择服务商,填入上文准备工作中的ID和KEY
按照上面的提示,填写后点击保存。应该要等一小会儿。成功后如下图所示。

此时输入域名+8443端口,即可访问服务,可以看到不安全标志已经消失,反代流程结束~

✅ 泛域名证书申请
来到证书板块,如图点击右上角。

跟上面一样,填写根域和泛域,以逗号间隔。勾选 Use a DNS Challenge,填写邮箱,选择DNS服务商,填入ID和KEY,同意条约后保存即可。

申请完毕。

后续我们再创建新的反代,那就方便多啦~

最后
ddns-go + NPM,或者一站式的Lucky,就看大家需求了。
感谢观看,本文完~

值友5588284931
校验提示文案
hansun
校验提示文案
值友3890857608
校验提示文案
tylor_e
校验提示文案
tracky
校验提示文案
值友8055900640
校验提示文案
淋雨啦
校验提示文案
值友9027132470
校验提示文案
大闲人邬小小
校验提示文案
小白爱乱买
校验提示文案
besauly
校验提示文案
栀子花的夏2
校验提示文案
栀子花的夏2
校验提示文案
值友3890857608
校验提示文案
besauly
校验提示文案
小白爱乱买
校验提示文案
hansun
校验提示文案
大闲人邬小小
校验提示文案
值友9027132470
校验提示文案
淋雨啦
校验提示文案
值友5588284931
校验提示文案
值友8055900640
校验提示文案
tracky
校验提示文案
tylor_e
校验提示文案