状态:在用 · 不会换(地基级)
速读#
Cloudflare 在这里不是单个工具,而是 DNS、CDN、Tunnel 组成的一条发布链路。它最值钱的地方,是把「公网可达」从开入站端口,改成由 cloudflared 主动出站连接;代价是把 DNS、CDN、入口全押在一家身上。这个取舍我认,但要把押注的内容写清楚。
三件事在我手上是一条链#
| 能力 | 我怎么用 | 换来什么 |
|---|---|---|
| DNS | 域名 NS 指到 Cloudflare | 记录统一托管 |
| CDN / 代理 | A 记录橙云开启 | 外面 ping 到的是 CF IP,顺手缓存、SSL、基础 WAF |
| Tunnel | 机器上跑 cloudflared,主动出站连 CF | 入站端口可以对公网全关 |
访客请求沿隧道进来。服务器不必为了「能被访问」而在防火墙上开缝。
这条链路是一步步收紧的:
- 直接开端口放行
- DNS 代理藏了 IP,但端口还在
- Tunnel 把发起方向从入站改成出站,真实入口归零
三步走完才明白:「可达」不是开一道缝,是选择从哪个方向发起连接。
为什么不是其它#
| 方案 | 代价 |
|---|---|
| frp | 要自建中转,多一台要守的机器 |
| 端口转发 | 暴露真实 IP |
| 直挂公网 | 等于裸奔 |
| Cloudflare 免费档 | 「藏 IP + CDN + 零端口」三件一起给 |
别的方案凑不齐这个组合。场景是:个人几台机器、要省心、要少暴露——这套取舍我认。
代价也要写清楚#
Tunnel 不完美:流量经 Cloudflare 中转,多一层依赖;出站断了,服务就断。
排查也多了一层:出问题先要分清是源站挂了还是 CF 这层挡了——缓存没刷、代理规则误伤、隧道断连,症状都长得像「站挂了」。中间多一层,问题定位就多一个候选,这是所有代理层的通病,不是 CF 独有。
还有个边界要认:橙云代理的是 HTTP/HTTPS 这类流量,SSH 之类的通道不在这条链上——管理入口得单独安排,别指望一朵橙云把所有端口都罩住。
最后一条要直视:DNS、CDN、入口全押一家,等于把鸡蛋放进同一个篮子。CF 边缘出全球性故障的时候,我这条链路是整条同时消失的——连想临时切回直连,要改的 DNS 都还在它手里。个人站我认这个风险,因为对我来说「平时省下的维护成本」大于「几年一遇的连坐宕机」;换成对可用性有真实承诺的业务,就不能这么押。
零端口的干净,是用「依赖 CF 中转」换来的,不是白嫖。这个代价我清楚,也认。
什么情况下不该选它#
这套链路赢在「个人机器、省心、少暴露」,出了这个格子就要另算:
- 主要访客在中国大陆:免费档没有大陆节点,流量绕行海外,延迟和稳定性都会打折。要认真服务大陆访客,该走备案加国内 CDN 那条路——至少别把「套了 CF」当成加速手段。
- 要暴露任意 TCP/UDP 端口:橙云和 Tunnel 的公开入口面向 HTTP 类流量。游戏服、数据库直连这类原始端口,免费档罩不住,硬要做就得回到端口转发或 frp 的老路。
- 大流量媒体分发:拿免费 CDN 扛视频和大文件下载,既贴着服务条款的边走,也不现实——那是对象存储加专门分发网络的事。
- 不接受流量过第三方:代理开着,明文就在 CF 边缘解开再回源。这在我的威胁模型里可以接受,接受不了的人就该自己扛 TLS 和入口,那是另一套成本。
会不会换#
不会换。
它是整套发布链路的地基。换它等于拆地基:DNS、CDN、Tunnel 全要重找替代,而且没有一个能把这三件免费一起给的。
所以这条不是「评估中换不换」,是「地基不动」。
工具会不会换,看它站的位置。站成地基的,不评估换不换,只评估下一代怎么往上盖。
