飞牛 OS 外网访问加速实战:Cloudflare DDNS + 腾讯 EdgeOne 回源配置

/ 0 comment / 37 View

家里放一台飞牛 OS(FnOS)做 NAS,想在外面也能流畅访问,直接暴露公网 IP 既不安全、速度也不稳定。比较常见的做法是套一层 CDN:域名走 Cloudflare 做解析,流量走腾讯云 EdgeOne 回源到家里的 NAS。

这套组合能跑通,但有几个地方特别容易卡住:回源端口不是 443、源站域名不能开 CDN 代理、WebSocket 超时导致登录后立刻断连。这篇按顺序把它们讲清楚。

一、整体架构

浏览器  https://cdn.example.com:443
   │
   ▼
腾讯 EdgeOne 边缘节点(只监听 80 / 443)
   │  回源:HTTPS 28888,Host = cdn.example.com
   ▼
origin.example.com(Cloudflare DNS Only)→ 家庭公网 IP
   │
   ▼
飞牛 OS  NAS  https 28888

关键点:加速域名和源站域名是两个不同的域名。前者给人访问,后者只负责把边缘节点指到你家的 IP。

二、准备清单

项目要求
公网 IP动态 IP 也可以,用 DDNS 自动更新
域名已托管在 Cloudflare,能改 DNS 记录
EdgeOne已开通,站点完成接入和 NS 切换
NAS 端口HTTPS 端口已知(本文示例 28888),路由器已做端口映射
证书NAS 上用自签名即可,回源时关闭校验(见第三步)

先确认一件事:EdgeOne 边缘节点默认只开放 80 和 443。所以对外访问只能是 https://cdn.example.com,不能带 :28888。端口映射那一步只在「边缘 → 你家」这一跳生效。

三、第一步:Cloudflare 配源站域名

新增一条 A 记录,专门给 EdgeOne 指路:

字段值
类型A
名称origin
内容家庭公网 IP(如 123.111.111.222)
代理状态仅 DNS(灰云)

代理状态一定要关掉。如果开着橙云,这条记录解析到的是 Cloudflare 的节点 IP,EdgeOne 回源就会回到 Cloudflare 而不是你家,直接形成回环,表现是 522 或一直转圈。

然后在飞牛 OS 的 DDNS 设置里,把更新目标改成 origin.example.com。IP 变了由它负责更新,EdgeOne 只认这个域名。

四、第二步:EdgeOne 回源配置

在 EdgeOne 控制台把加速域名 cdn.example.com 接入站点,然后配置回源:

配置项设置值说明
源站地址origin.example.com不要填 IP,动态 IP 会失效
回源协议HTTPS与 NAS 的 HTTPS 端口对应
回源端口28888手动填,不是 443
回源 Hostcdn.example.comNAS 若按域名区分站点,必须与之一致

这里的逻辑是:用户访问 443 → EdgeOne 边缘 → 转发到你家 28888。端口填错是第一个高频故障点,现象通常是 502 或连接超时。

五、第三步:关掉回源证书校验

NAS 上的证书一般是自签名的,EdgeOne 回源时如果严格校验,握手直接失败,浏览器看到的就是 502 Bad Gateway。

到「回源配置 → HTTPS 回源配置」,把验证源站 SSL 证书设为关闭。这样 EdgeOne 不校验证书有效性,只保证链路加密。

代价是回源链路的中间人风险由你自己承担。家用 NAS 场景可以接受,如果是对外服务的站点,建议给 NAS 配一张正式证书(DNS 验证签发即可)再开启校验。

六、第四步:修 WebSocket 断连

这一步是最容易被忽略的。配置正确之后,登录页能打开,但一登录就弹「连接已断开」,文件管理、终端全都用不了。

原因是飞牛 OS 的实时状态、文件传输、终端都走 WebSocket 长连接,而 CDN 默认的 WebSocket 空闲超时很短,连接被边缘节点提前掐断。

到「站点加速 → 网络优化」,确认两件事:

开关设置
WebSocket开启
WebSocket 超时时间300 秒或更大

改完保存,等配置下发(一般一两分钟)再测。

七、验证

  1. 浏览器访问 https://cdn.example.com,不要带端口号。
  2. 能正常进入登录页,且不再弹「连接已断开」。
  3. 随手点开文件管理、终端,确认操作有响应、不卡顿。
  4. 断开 Wi-Fi 用手机流量再试一次,排除内网直连造成的“假成功”。

八、排错对照表

现象多半是怎么查
带 :28888 打不开边缘节点不监听非标端口去掉端口,只访问 443
502 Bad Gateway回源端口错 / 证书校验没过先核对端口,再关证书校验
522 或一直转圈源站域名开着橙云,回源绕回 Cloudflare把 origin 改成仅 DNS
登录后立刻断连WebSocket 超时太短开启 WebSocket,超时调到 300 秒
白天正常,晚上连不上家庭上行带宽打满或运营商限速错峰测试,或降低码率/画质
过几天突然全挂公网 IP 变了,DDNS 没更新查 origin 记录是否等于当前 IP

九、几点安全建议

十、没有公网 IP 怎么办

上面的方案前提是有公网 IP。如果宽带是 NAT 后的内网地址,可以换两个思路:

小结

这套架构跑通只需要记住三件事:源站域名保持灰云、回源端口填真实端口、WebSocket 超时要调大。前两个决定能不能连上,第三个决定连上之后能不能用。

本文思路参考自 Engr\_Peng 的实战记录,步骤与排错部分做了重新整理和补充。

已有 0 条评论
发表评论