返回列表 发布新帖

[用户教程] 使用DDNS+Caddy反代NAS部署的服务

2395 8
发表于 2025-12-15 15:37:39 | 查看全部 阅读模式 IP:–广东–佛山–高明区

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 zzstar 于 2025-12-15 15:53 编辑

前言

绿联 NAS 对使用端口映射(bridge 模式)的 Docker 容器提供了官方反向代理地址,这在一定程度上降低了外网访问的配置成本。
然而,对于使用 host 网络模式运行的 Docker 容器,官方方案基本无能为力,外网访问几乎没有可用解法。
在这种情况下,我们可以通过 DDNS + Caddy 反向代理 的方式,优雅地解决这一痛点,实现对宿主机端口服务的 HTTPS 外网访问。
重要前提(非常关键)
使用 DDNS 的前提是:
必须拥有公网 IPv4 地址!
必须拥有公网 IPv4 地址!
必须拥有公网 IPv4 地址!

若为 NAT、CGNAT、或运营商内网环境,本方案不适用。

一、DDNS 绑定配置

1. 前置准备:域名购买

如果你已经有可用域名,可以直接跳过本步骤。
阿里云 为例:
  • 在域名服务中搜索并注册自己心仪的域名 ScreenShot_2025-12-15_150137_607.png
  • 完成实名认证并支付购买

至此,域名准备工作完成。

2. 获取 AccessKey(用于 DDNS)

DDNS 需要通过 API 动态更新 DNS 记录,因此必须获取 AccessKey。
操作步骤如下:
  • 将鼠标移动到右上角头像
  • 点击 AccessKey ScreenShot_2025-12-15_151056_275.png
  • 选择 使用 RAM AccessKey
  • 按页面提示完成验证
  • 创建并保存好 AccessKey IDAccessKey Secret

请务必妥善保存,该密钥后续将用于 DDNS 配置。
ScreenShot_2025-12-15_151439_412.png
3. 在绿联 NAS 中启用 DDNS

  • 打开 绿联云 App
  • 进入控制面板 → 设备连接 → 远程访问
  • 勾选下方的 DDNS 支持
  • 点击 新增
  • 填写域名信息与 AccessKey
  • 执行连接测试,确保状态正常
    ScreenShot_2025-12-15_152207_974.png
测试通过后,DDNS 即配置完成。
此时你的域名将自动解析到当前公网 IP。

二、使用 Caddy 部署反向代理

1. 部署 Caddy 容器

在 Docker 项目中创建如下 docker-compose.yml:
  1. version: '3.9'
  2. services:
  3.   caddy:
  4.     image: caddy:latest
  5.     container_name: caddy_home
  6.    
  7.     network_mode: host

  8.     restart: unless-stopped
  9.     volumes:

  10.       - ./conf:/etc/caddy
  11.       - ./data:/data

  12.       - ./config:/config
  13.       - ./srv:/srv
复制代码

关键说明:
  • network_mode: host
    Caddy 将直接使用宿主机网络,从而可以反代所有 host 模式下的服务
  • Caddy 会自动管理 HTTPS 证书,无需手动配置 TLS

部署完成后,进入 Caddy 所在目录,可以看到一个名为 Caddyfile 的文件。

2. 配置 Caddyfile

为了便于编辑,可以先将 Caddyfile 临时改名为 Caddyfile.txt。
假设我们要反代 Jellyfin 媒体服务器(端口 8096),配置示例如下:
  1. (common) {
  2.     encode gzip zstd
  3. }

  4. jellyfin.example.com {
  5.     import common
  6.     reverse_proxy 127.0.0.1:8096
  7. }
复制代码
配置说明

  • (common)
    定义一个全局可复用配置块
  • encode gzip zstd
    启用响应压缩,用于:

    • 减少传输体积
    • 提升访问速度
    • 降低公网带宽占用

  • jellyfin.example.com
    表示你用于访问 Jellyfin 的子域名
  • reverse_proxy 127.0.0.1:8096
    指向宿主机上 Jellyfin 实际监听的地址


3. 启用配置并申请证书

  • 保存文件
  • 将 Caddyfile.txt 改回 Caddyfile
  • 重启 Caddy 容器

此时 Caddy 会自动完成以下操作:
  • 验证域名解析
  • 向 ACME 机构申请 HTTPS 证书
  • 启用反向代理

无需任何额外 TLS 配置。

三、路由器端口转发(公网 IPv4 必须)

如果你使用的是 公网 IPv4,还需要在路由器中进行以下配置之一:
  • 端口转发

    • TCP 80 → NAS IP
    • TCP 443 → NAS IP

  • 或启用 DMZ(不推荐但最省事)

完成后,即可在外网通过:https://jellyfin.example.com安全、稳定地访问你部署在 NAS 上的 Docker 服务。

ScreenShot_2025-12-15_150819_295.png

评论8

yldLv.4绿联NAS社区会员用户 发表于 2025-12-15 15:47:52 来自手机 | 查看全部 IP:–浙江–绍兴
哥不白看,哥给你点赞
绿联NAS私有云Lv.9绿联NAS社区管理员 绿联NAS社区会员用户 发表于 2025-12-15 17:35:53 | 查看全部 IP:–广西–南宁
排版不错
绿联NAS产品功能问题回复、产品功能动态更新、产品需求进度更新、产品公测组织相关事项~
zzstar楼主Lv.4绿联NAS社区会员用户 发表于 2025-12-15 21:22:59 来自手机 | 查看全部 IP:美国 CloudFlare节点
勘误:只要有公网IP就可以
夏夏子Lv.7绿联NAS社区会员用户 发表于 2025-12-16 08:31:41 | 查看全部 IP:–湖南
Caddy也慢慢流行起来啦
zzstar楼主Lv.4绿联NAS社区会员用户 发表于 2025-12-16 13:52:04 | 查看全部 IP:–广东–佛山–高明区
夏夏子 发表于 2025-12-16 08:31
Caddy也慢慢流行起来啦

是的,lucky对新手友好,caddy的上限很高
moceliseLv.1 发表于 2026-2-15 21:32:24 | 查看全部 IP:–河北
我为了让caddy顺利代理qb、emby和绿联web管理页已经折腾两天多了。
zzstar楼主Lv.4绿联NAS社区会员用户 发表于 2026-4-2 11:30:48 来自手机 | 查看全部 IP:–海南–海口
mocelise 发表于 2026-2-15 21:32
我为了让caddy顺利代理qb、emby和绿联web管理页已经折腾两天多了。

很简单呀~根据我的教程操作就可以啦~
什邡浪子Lv.1 发表于 2026-6-11 10:18:27 | 查看全部 IP:–贵州–遵义
家用的都封了80和443端口

评论

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2026 绿联NAS私有云社区 版权所有 All Rights Reserved. 粤公网安备44030002002555号| 粤ICP备12028978号
关灯 在本版发帖
联系技术支持
返回顶部
快速回复 返回顶部 返回列表