背景
本人刚刚注册了第二个域名:aye.moe
使用Cloudflare代理流量可以加快加载和资源加载
但是使用Cloudflare进行流量代理会有一个问题,就是中国三大运营商(CT+CU+CM)与Cloudflare之间会受到很大的速率和延迟波动影响
为了解决国内与Cloudflare的速率问题和国外使用Cloudflare的需求,可以用到DNS分区解析。
但是分区解析的提供商们,海外版要么就是要绑卡,国内版又要备案
本人就是懒得去折腾这些东西,DNS完全依赖于Cloudflare
(其实华*云的国际版只需要有账号就可以使用云解析服务,没有绑卡也一样正常使用,但是华*云的海外NS地址的解析都很乱,所以就放弃使用了)
区分两个域名为直连还是代理
在我的案例中,我用aye.moe作为直连站,xyye.xyz作为CF代理站
为什么要区分
为了防止在同一个域下泄露源站IP
但不过你的服务器有一定的防御也是可以不区分的
修改需要直连的服务
如哪吒探针:
哪吒探针需要一个不经过CDN的域名/IP以实时上传
修改探针域名至未接入CDN的面板服务器域名/IP(本人案例中直接填入探针机IP)
获取Cloudflare源服务器SSL
这个流程仅适用于
1.未使用有效的公开可信的证书或者无证书加密源站与CF之间的流量
2.需要开启完全(严格)或完全的加密模式
进入域 -> SSL/TLS -> 源服务器
如果没有特别需求,按照默认配置创建证书即可
注意:如果有有多于*.example.com的域名需要代理时,需要特别输入。
复制输出的证书内容和密钥内容,手动复制入WAF添加证书并运用证书至需要代理的网站下即可
配置WAF设置
Cloudflare
进入域 -> 安全性
根据需求,添加WAF规则,速率限制,爬虫限制
建议开启自动替换polyfill功能:Replace insecure JavaScript libraries
源站
所有经过Cloudflare代理的请求都会被Cloudflare的WAF检测和阻挡所有恶意请求,所以源站没有必要对已经经过过滤的流量进行再一次检测。
修改防护模式至 观察
配置重定向规则
以下规则指引均为了将中国请求重定向至未被CF代理的域名
技术有限,只实现重定向至一个固定URL
进入域 -> 规则 -> 重定向规则
根据需求,添加匹配规则(注意And与OR的搭配)
将已经经过CF代理的网站填入主机名(如果使用URL匹配需要完全一致)
添加AND条件,匹配中国请求
最后填入重定向URL即可
示例:
这样,所有中国用户在访问这个域名的时候就会被重定向到另一个域(当然这个域是没有经过代理的,不然重定向的意义就不存在了)
配置直连域名
对应重定向指向URL进行直连域名的配置
在本文的案例中,共在xyye.xyz(Cloudflare代理域)配置了3条重定向规则(仅在中国生效)
包含www.xyye.xyz/xyye.xyz -> www.aye.moe ; uptime.xyye.xyz -> uptime.aye.moe ; tz.xyye.xyz -> tz.aye.moe。
在aye.moe的DNS设置中,添加所有直连域名(*.aye.moe)的DNS
这些域名的最后解析A/AAAA结果应该为源站的IP(当然,可以是多个IP,只要是回源到同一个服务器即可)
不会建议使用CF代理这些域名!不然将中国的请求重定向就失去的意义,就是要让中国的请求直连到服务器或者自建CDN上,以避开三大ISP到CF的速率问题。
在服务器或者自建CDN上,配置上游地址,开启80/443(SSL),启用HTTPS。(如有WAF,依需求设置规则)
如果服务器上可以根据请求IP获取国家地区进行重定向的话,那就可以有更多的用法了
缺点
Cloudflare的IP有被墙的风险
(仅适用于来自中国的请求)
尽管Cloudflare不负责内容分发和网页加载,只负责在响应的时候进行重定向
但是Cloudflare的IP还是会有一定的几率被墙了
不如DNS分区解析
本文的案例只适用于无法使用DNS分区解析的情况(即解析服务商不提供根据地域/运营商返回不同的响应值,如CF)
如果在DNS层面上就已经进行了中国/国外分流的话,就不需要这些繁琐的重定向了。
也就只有我会在不想绑卡+不想备案的情况下用这种情况解决了。
Last updated: 2024/7/2 20:43