一文搞懂 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
用于实际访问。
- 在 CloudFlare
DNS
-记录
中添加cf-cdn.anye.in
,解析到服务器 IP,并开启小云朵。
- 在 CloudFlare
SSL/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
[7]ddgth/cf2dns
共有 0 条评论