侧边栏壁纸
博主头像
是羊刀仙啊 博主等级

闲不下来!

  • 累计撰写 189 篇文章
  • 累计创建 51 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

反向代理神器,NAS平台,Nginx Proxy Manager,保姆级教程

羊刀仙
2025-09-11 / 0 评论 / 0 点赞 / 11 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

在国内玩 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 。

准备工作

之前买的一个备用域名,就拿它来做演示。

截屏2025-09-11 14.11.19 拷贝.png

先去你域名所在平台申请密钥,用于后续申请证书。因为国内环境走不了常规端口,所以要这么干。

阿里云的为大家指个路。

截屏2025-09-11 15.03.18.png

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

截屏2025-09-11 15.13.04 拷贝.png

部署流程

还是以威联通NAS为例,不过基本适配所有品牌,改改文件映射目录即可。

(看看威联通刚发布的新品 Qu805-N355,终于拿到咯~3k6香爆!)

IMG_4733 拷贝.jpg

20A056AE874F8B4CDF668ECFF1EA6548.png

代码如下:

services:
  app:
    image: jc21/nginx-proxy-manager:latest # 中文版为 chishin/nginx-proxy-manager-zh:release
    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(非常用端口)

中文镜像并没有重新构建后端代码,中文镜像基于官方镜像替换前端代码来实现的,所以中文版本的全部功能与官方版本完全相同,只是显示界面的文字不同的区别。

截屏2025-09-11 10.16.57 拷贝.png

冒号左侧的三个端口皆可替换成NAS未占用端口。

81是管理面板,一般不建议直接转发到公网,如果像我一样远程配置可以先开一会儿,搞定后再停用或删掉~

84428443两个端口则一定要转发到公网~

截屏2025-09-11 10.40.57 拷贝.png

使用展示

按照上面代码部署完毕后,浏览器输入 NAS_IP:81 即可访问界面进行配置。

默认账户:admin@example.com
默认密码:changeme

截屏2025-09-11 11.26.12 拷贝.png

初次登陆提示修改初始登录邮箱和密码。

这个邮箱后面用来发送证书提醒。若随便填写的话,符合邮箱格式就行,真伪不重要,另外咱们得能记得住~

截屏2025-09-11 11.39.00 拷贝.png

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

截屏2025-09-11 11.40.31 拷贝.png

来到首页,点击下图红框标志。其他几个是跳转、转发和兜底,汉化版应该有翻译。

截屏2025-09-11 13.25.15 拷贝.png

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

截屏2025-09-11 14.08.09 拷贝.png

逐步来设置。

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

截屏2025-09-11 14.29.46 拷贝-Tfgx.png

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

截屏2025-09-11 14.42.04 拷贝.png

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

截屏2025-09-11 14.52.40 拷贝.png

接着点击开始配置证书~

截屏2025-09-11 14.55.36 拷贝.png

当我们为NPM配置完毕后,建议删掉上面路由中81端口的转发~

单个域名证书申请

本小节情况是针对某一个子域名单独申请证书。该小节结束后,会再演示泛域名证书以应多,如果NPM常驻为主要反代工具,建议直接进行泛域名申请~

截屏2025-09-11 15.11.05 拷贝-utjJ.png

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

按照上面的提示,填写后点击保存。应该要等一小会儿。成功后如下图所示。

截屏2025-09-11 15.20.55 拷贝-wpwI.png

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

截屏2025-09-11 15.28.37 拷贝.png

泛域名证书申请

来到证书板块,如图点击右上角。

截屏2025-09-11 15.33.38 拷贝.png

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

截屏2025-09-11 15.35.59 拷贝.png

申请完毕。

截屏2025-09-11 15.44.24 拷贝.png

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

截屏2025-09-11 15.46.40 拷贝.png

最后

ddns-go + NPM,或者一站式的Lucky,就看大家需求了。

感谢观看,本文完~

0

评论区