
HY
折腾进行时
Hello, I'm HY.








暂未播放

我这边网络情况比较特殊,公网只有 IPv6 出口,没有公网 IPv4。内网跑着飞牛 NAS(fnos)和 new-api(Docker 部署记录)之类的服务,想在外面访问,走 IPv4 的路全堵死了。
后来折腾出这么一套组合:Lucky 做 DDNS 把 IPv6 同步到 Cloudflare,再让 Cloudflare 当代理。白嫖到三样东西:
全程没花一分钱。记录一下怎么接的。
补充一下:这套方案的核心就一句——边缘节点双栈,回源单栈,家里只有 IPv6 就让双栈的边缘当门面,IPv4 的访客也能进来。所以它是通用的,换哪个边缘平台都成立。后来我又用阿里云 ESA 在国内复刻了一遍,节点在境内、国内访问更稳,代价是域名得备案,细节写在 Lucky + 阿里云 ESA 那篇 里。
打开 Lucky → 动态域名,添加一个 DDNS 任务:

任务开起来之后,去 Cloudflare 看一眼解析记录,确认已经同步过去。
关键一步:每条 DNS 记录旁边的「代理状态」必须开着(橙色云),不然下面说的规则全都不生效。我这边 AAAA 记录都是已代理状态。

然后 SSL/TLS → 配置加密模式,先选「灵活」。这样访客到 Cloudflare 这段是 HTTPS,Cloudflare 到源站暂时走明文,先把链路跑通。想全链路 HTTPS 的话后面有专门一节。

这是整套方案的核心。Cloudflare 对外只开放 80/443,我用一条 Origin Rules(源站规则) 把所有入站请求的目标端口重写成 Lucky 的监听端口,这样外面访问 https://你的域名 就够了,不用再记端口。
操作路径:规则 → 概览 → Origin Rules,添加规则:


如果你的 IPv6 源站 80 端口可以直接访问,这步可以跳过,Lucky 的 Web 服务直接用 80 端口就行。好处是不走 Cloudflare,网速快非常多;代价是没法双栈访问,外面的 IPv4 进不来。选哪个自己掂量。
连公网 IPv6 都没有的环境,这套方案就玩不转了,那就只剩 Cloudflare Tunnel 这种穿透方案,部署教程我也写过。
回到 Lucky → Web 服务,添加规则:

规则下面可以加子规则,前端地址填想要的域名,后端地址填内网实际地址。我这边挂了两个服务:
| 子规则 | 前端地址 | 后端地址 | 说明 |
|---|---|---|---|
| fnos | 547466.xyz | http://192.168.31.3:5666 | 飞牛 NAS(5666 是 fnOS 默认面板端口) |
| newapi | ai.547466.xyz | 内网 new-api 服务 | AI 中转站 |

到这一步,不带端口号访问已经通了。剩下的是可选强化。
默认「灵活」模式下,Cloudflare 到源站这一截是明文。想两头都加密,按下面来:


3.把证书存成 txt:生成后页面上有「源证书」和「私钥」两段 PEM 内容,分别复制保存成两个文件(我存的是 yuan.txt 和 key.txt)。

Lucky 上传证书:Lucky → SSL/TLS 证书 → 添加证书,方式选「文件」,证书选 yuan.txt,Key 选 key.txt。

Web 服务开启 TLS:回到 Web 服务那条规则,把 TLS 打开(最低版本 TLS1.2)

这样就是全链路 HTTPS:浏览器 → Cloudflare(CF 泛域名证书)→ 源站(Origin 证书)。
lucky里面也可以直接申请Let’s Encrypt的证书,那个也行。加了证书之后,⚠️访问一定记得要带https!
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
部分内容可能已过时
分享你的想法,与大家交流讨论