1. 环境与需求
希望通过腾讯云 EdgeOne 为家中的飞牛OS 提供外网访问加速。
NAS系统: 飞牛OS (FnOS)
网络环境: 公网IP (动态),HTTPS端口已修改为 28888。
域名解析 (DNS): Cloudflare。
加速服务 (CDN): 腾讯云 EdgeOne。
涉及域名:
源站域名 (DDNS):
origin.example.com(用于解析家庭真实IP)加速域名 (访问入口):
cdn.example.com(绑定在 EdgeOne)
2. 问题演变过程
阶段一:配置错误导致无法访问
操作: 最初直接将 DDNS 域名接入 EdgeOne,并尝试通过
https://cdn.example.com:28888访问。现象: 无法连接。
原因: EdgeOne 边缘节点默认仅开放 80/443 端口,不转发自定义的 28888 端口;且源站配置逻辑混淆,缺乏独立的源站 IP 解析。
阶段二:WebSocket 断连问题
操作: 修正了源站域名配置,EdgeOne 回源端口设置为 28888。
现象: 访问
https://cdn.example.com可以打开飞牛OS 登录页,但随即弹出 “连接已断开” 提示,无法正常使用。原因: 飞牛OS 强依赖 WebSocket 协议,而 EdgeOne 默认的 WebSocket 超时时间过短(或未正确开启),导致长连接中断。
3. 完整解决方案
第一步:Cloudflare 侧配置 (源站准备)
为了让 EdgeOne 能够找到你的家庭 NAS,必须先设置一个专门用于 DDNS 的“源站域名”。
登录 Cloudflare 控制台。
新增一条 A 记录(或通过 DDNS 插件自动添加):
名称:
origin(即origin.example.com)内容: 你的家庭公网 IP (如
123.111.111.222)代理状态 (Proxy Status): 必须关闭 (DNS Only/仅DNS)。
注意:此域名不经过 CDN,仅用于给 EdgeOne 指路。
在飞牛OS 的 DDNS 设置中,确保更新的是
origin.example.com。
第二步:腾讯 EdgeOne 侧配置 (回源规则)
登录腾讯云 EdgeOne 控制台,针对站点 cdn.example.com 进行配置:
源站地址 (Origin Address): 填写
origin.example.com。回源协议 (Origin Protocol): 选择 HTTPS。
回源端口 (Origin Port): 手动填写 28888。
逻辑:访问 443 -> EdgeOne -> 转发至家庭 28888。
回源 Host (Origin Host): 建议填写
cdn.example.com。
第三步:HTTPS 与证书优化
防止因自签名证书导致回源失败 (502错误):
进入 回源配置 -> HTTPS 回源配置。
验证源站 SSL 证书 (Verify Origin SSL Certificate): 设置为 关闭 (Off)。
解释:信任 NAS 的自签名证书,不做严格校验。
第四步:WebSocket 深度优化 (解决断连)
这是修复“连接已断开”报错的关键步骤:
进入 规则引擎 或 站点加速 -> 网络优化。
WebSocket: 确保状态为 开启 (On)。
WebSocket 超时时间: 修改为 300 秒 (或更大)。
说明:默认的短超时会导致 NAS 实时推送服务中断,必须调大此数值。
4. 验证与总结
测试: 浏览器访问
https://cdn.example.com(无需加端口号)。结果: 登录界面加载正常,不再弹出“连接已断开”提示,文件管理与终端操作流畅。
结论: 使用 CDN/EdgeOne 加速 NAS 时,必须注意 “独立源站域名解析”、“非标端口回源设置” 以及 “WebSocket 长连接超时” 这三个核心要素。