一、为什么要用泛域名 + Nginx Proxy Manager?
一个隧道管所有:只需绑定一次 *.example.com ,后续子域名全由 Nginx 图形化添加;
零端**露:容器只用 expose(暴露) ,外部无需开放任何端口;
SSL已自带:Cloudflare 泛域名(wildcard)隧道已HTTPS,内部无需再申请证书;
图形化子域名:鼠标点几下即可添加 alist.example.com 、 emby.example.com …;
功能插件:速率限制、Header注入、缓存Bypass,全GUI操作。
应用场景
家庭NAS:不想开放任何公网端口,却要让 alist.example.com 、 emby.example.com 通过域名直接访问;
小型API网关:需要按子域名(subdomain)加鉴权Header或速率限制;
缓存优化:想让静态文件走CF缓存,动态接口Bypass缓存;
美观需求:502/404页面要换成自己品牌页。
一句话:一个泛域名(wildcard)隧道 + Nginx Proxy Manager,零代价换来图形化无限子域名(subdomain)。
二、一键模板
# docker-compose.yml
注入 token(一次写入)
echo "CF_TUNNEL_TOKEN=你的token" > .env
然后就可以启动docker compose 构建项目了。
三、泛域名(wildcard)隧道配置(一次性)
- Cloudflare 控制台 → Tunnels → Create Tunnel → 复制 token

只需要复制token后面的字符就行。
- 隧道路由设置 → 添加 泛域名(wildcard)
类型:CNAME
名称: *
目标:隧道ID(自动生成)
保存后,整个 *.example.com 指向隧道,无需再添加其他子域名(subdomain)

其中服务填你后面部署的NAS地址+Nginx Proxy Manager-端口,例如"172.168.1.2:1000",这样你的所有泛域名通通指向ngnix,后续统一由它来完成代理转发docker容器。
四、图形化Ngnix子域名(subdomain)配置
1. 浏览器访问 Nginx Proxy Manager
http://localhost:81
默认账号: [email protected]
默认密码: changeme
2. 添加反向代理
域名:填写子域名(subdomain)如 alist.example.com ;
转发主机:填写容器名(container name)如 alist ;
转发端口:填写容器内部端口(internal port)如 5244 ;
点击「保存」。
3. 完成,浏览器访问 https://alist.example.com (子域名/subdomain),已自带SSL,无需再申请证书。

功能加成(可选)
Header注入:增加应用登入用户跟密码,所有的docker都能应用,及其安全方便了。

Bypass缓存:Advanced → Cache → Bypass Cache
错误页美化:Settings → Custom Error Pages → 上传HTML,任意风格,前端看不到任何入口信息,安全。

五、记忆口诀
“一个泛域名(wildcard)落隧道,NPM点子域名(subdomain),expose(暴露)省端口,SSL已自带。”
觉得有用麻烦点赞+转发+推荐,扫码关注下“纳斯派”微信公众号,你的支持是我更新的最大动力❤
