Cloudflare
Cloudflare 最大的特点是出站流量免费,其他云服务厂商最多只能免除数据传入的费用,对于数据传出则具有相当精细的定价标准。非常适合个人开发者和小型项目。
| 原型 | Cloudflare | 免费额度 |
|---|---|---|
| 静态网站托管 | Cloudflare Pages | 100,000 / 天 |
| 云函数 | Cloudflare Workers | 100,000 / 天 |
| 对象存储 | R2 | 10 GB 存储 |
| 关系型数据库 | D1 | 5 GB 存储 |
Cloudflare 不以任何形式提供弹性实例和 VPS,对于付费服务采用先付后用的模式,因此几乎不会出现风控问题。
Pages & Workers
Section titled “Pages & Workers”这是 Cloudflare 主打的业务。Workers 可以在面板上的 Vscode 里编写和测试,Pages 支持所有主流的前端框架,并可以链接到代码仓库以进行持续性部署。Workers 仅支持 JavaScript 但 Cloudflare 对其制定了更加细致的计费规则,Workers 的 CPU 秒所指代的是 CPU 真正在计算时消耗的时间而非其他厂商的 容器vCPU * 容器运行时间,此外还有一个 Wall Time 用以反映 Workers 的总执行时间。 每个 Workers 仅针对单个请求,请求结束之后就会关闭容器,所以不能像其他服务商云函数那样提供持续性链接。不过 Cloudflare 提供了 耐用对象 Durable Object 以作补充。
D1 & Workers KV
Section titled “D1 & Workers KV”D1 是 Cloudflare 基于 SQLite 的关系型数据库,你并不需要为整台运行数据库的虚拟机付费,仅需要为存储的空间付费,Workers KV 则更像一种缓存以存储配置文件之类的数据,是一种非关系型数据库。在其他云服务厂商中,部署云函数和存储需要选择不同的区域。而 Cloudflare 则默认按需部署到所有区域。为了避免混淆,Cloudflare 支持将存储以环境变量的方式与 Workers 绑定,门槛极低。Workers 支持与 Cloudflare 所有的服务进行绑定。
R2 对象存储
Section titled “R2 对象存储”使用 R2 之前需要绑定一张 Visa, Mastercard, AMEX, JCB 或 Discover 信用卡。这应该是 Cloudflare 唯一采用先用后付的服务了。看似信用卡的门槛比较高,但实际上如果你没有一张这样的信用卡,根本就无法使用主流云服务商的任何服务了。信用卡的办理其实并不难,本章不再赘述。
Cloudflare Workers 的付费计划中大幅提升了使用额度,并且在超出额度之后会以低廉的价格进行计费而不是中断服务。定价 5USD 每月,对比免费版和付费版的使用额度,似乎感觉这是个相当划算的升级,但是 5USD 每月已经足够在一些二三线的云服务商那里购买一个不错的 VPS 了。付费计划的存储额度也没有提升, 5G D1 和 10G R2 ,5USD 每月的 VPS 往往提供了更多的存储空间。如果你不需要 Cloudflare 全球化部署的优势,那么它的性价比并不高。
这是 Cloudflare 的另一个主打业务,可以注册和托管域名,并且提供免费的 DNS 服务,Cloudflare 支持几乎所有的 DNS 功能,不仅仅是将域名解析到 Pages & Wokers 上。如果你将域名解析到自己的 IP 上还可以使用 Cloudflare 的 CDN 服务以免去证书的维护。Cloudflare 的 CDN 还支持相当强大的自定义规则用以将带有不同特征的请求发送到源服务器不同的端口。
中国大陆的防火墙
Section titled “中国大陆的防火墙”GFW 对 Workers 的默认域名 *.workers.dev 进行了 DNS 污染 + TLS 阻断,可用以下方式解决。
- 配置
hosts文件并以http的方式访问,如果你清者自清,无惧审查。 - 为 Workers 添加自定义子域名在你添加了自定义域之后。
目前免费版的 Cloudflare 的网络服务很难再为来自中国的访问请求提供亚洲地区的 IP 了。
有人利用 Cloudflare Workers 在 Cloudflare 的边缘节点上大规模部署网络代理造成 Cloudflare 服务质量大幅下降,最终以中国对 Cloudflare 流量的进一步劣化和 Cloudflare 发布公告明令禁止此类行为而结束。