一文搞懂 CloudFlare CDN/Page/Workers 优选

最近

哎呀被刷流量了,这绝对不是鸽的理由好吧。这篇选题都新建文件夹一个月了,还是选择记录一下吧,以免遗忘。

前言

Cloudflare 是一家总部位于旧金山的美国跨国科技企业,专注于提供网络安全和性能优化服务。其主要业务包括内容分发网络(CDN)、网站安全管理、分布式域名解析以及反向代理等。通过强大的边缘网络,Cloudflare 能够加速网站访问并提高其安全性,同时防止 DDoS 攻击和其他网络威胁。

CloudFlare 的赛博大爹作风在此不必多说,直接进入正题,众所周知 CloudFlare 在国内的节点是不对免费订阅开放的[1]。所以想在国内的网络环境下优雅的用上 CloudFlare 就需要做一些简单的筛选。通过优选出面向国内线路的优质节点 IP,通过 A 记录等强制用户从该节点连接进入 CloudFlare,就可以得到一个比较不错的效果。

准备工作

  • 由于 CloudFlare 不直接提供二级域名供 CNAME 使用,所以需要用户自行准备至少两个域名供解析使用。
  • 优质的 CloudFlare 优选 IP
  • CloudFlare 账号一个
  • VISA 信用卡一张 / PayPal 账号一个

本文中使用的域名均为化名,请按实际情况替换。

CDN 优选 IP

原理

CloudFlare 支持使用 SaaS 接入 CDN[2],相当于我们传统的 CNAME 接入,只是需要我们自己准备需要 CNAME 的域名。

配置 CDN

这里我们把准备的域名,一个在 CloudFlare 解析,我们假设这个域名是cf-cdn.anye.in,用于回源,一个在非 CloudFlare 解析(CloudFlare 不允许把域名解析到它的 CDN 节点,会报 1000 错误),假设为www.anye.xyz用于实际访问。

  • 在 CloudFlareDNS-记录中添加cf-cdn.anye.in,解析到服务器 IP,并开启小云朵。

  • 在 CloudFlareSSL/TLS-自定义主机名添加回退源,填写刚才添加的域名cf-cdn.anye.in

就是这里好像要用信用卡 / PayPal 激活来着,这里只要不超过它的免费额度就不会产生扣费。[3]

  • 此时我们就可以拿cf-cdn.anye.in该域名当作服务器的 CDN CNAME指向来使用,当然由于免费计划不能上传自己的证书使用,指向它的域名需要在自定义主机名中进行添加,添加我们最终用于访问的域名www.anye.xyz

  • 添加成功后,按照要求在anye.xyz域名的 DNS 服务商添加解析记录,用于证书申请和域名认证。
主机记录 记录类型 记录值 用途
_acme-challenge TXT 证书验证 TXT 值 用于签发证书
_cf-custom-hostname TXT 主机名预验证 TXT 值 用于 CF 认证域名
www CNAME / A 优选 IP / 域名 访问网站

先按顺序填写 TXT 记录,待 CloudFlare 页面上显示有效后,即可删除,生效过程中不要刷新页面,会导致要求解析的 TXT 记录发生变化,使用页面上的刷新按钮即可。

若提示未 CNAME 解析到域名,则可以把www先解析到cf-cdn.anye.in上,待生效后可以修改为优选。

优选前后对比

优选前 优选后

Workers 优选 IP

本节不再叙述如何使用 CloudFlare Workers[4]

原理

使用Workers 路由将指向 CloudFlare 节点的流量路由到 Workers 处理。

配置

  • 在部署好 CloudFlare Workers 之后,如本例中的 Workers-Test ,不要使用 Workers 自带的添加自定义域功能,点击添加路由,填写我们最终需要访问的地址加上/*,如此处workers-test.anye.in/*,区域选择所使用的域名(两者需要对应)。

Page 优选 IP

本节不再叙述如何使用 CloudFlare Page[5]

原理

同 CDN 优选 IP,不过此时 CloudFlare 会提供用户 CNAME 的回源域名供使用。

配置

  • 正常部署完成 CloudFlare Page 后,在该 Page 项目中点击自定义域 -设置自定义域

  • 填写最终访问使用的域名,例如此处page.anye.in,根据要求配置 DNS 解析,点击激活域,不要将该域名托管在 CloudFlare,否则会被 CloudFlare 识别而暂停访问。

  • 手动访问https://page.anye.in可以打开,确保配置生效,证书已下发后,手动修改 DNS 解析为优选 IP / 域名即可。

优选前后对比

优选前 优选后

后记

距离发文已经过去了半个月,增加一些常见问题的解决办法吧

自定义主机名为中文域名

CloudFlare 在添加中文的自定义主机名时,应该使用转码后的域名,即中文域名转码,例如,阿里云.com转换成punycode 格式为xn--9kqx25nv1c.com,然而使用该编码 CloudFlare 前端验证似乎不通过,所以我们可以通过采用抓包替换请求的方式直接请求 API 来实现强制添加。

参考资料

[1]>Cloudflare 产品_服务列表_收费计划_服务定价_Cloudflare 中国官 | Cloudflare

[2]Configuring Cloudflare for SaaS | Cloudflare for Platforms docs

[3]Plans — Cloudflare for SaaS

[4]Get started | Cloudflare Workers docs

[5]Cloudflare Pages documentation

[6]XIU2/CloudflareSpeedTest

[7]ddgth/cf2dns

转自:https://www.anye.xyz/archives/5C4VTl30

文章版权归原作者所有或来自互联网,未经允许请勿转载。如有侵权请联系我删除,谢谢!
THE END
分享
二维码
打赏
< <上一篇
下一篇>>
文章目录
关闭
目 录