开通Cloudflare for SaaS

这个因为我已经开通了,就不演示了,可以自行百度
简单来说就是你需要一张支持Visa的银行卡,或者绑定一个已经绑定了银行卡的PayPal的账号(可以绑定国内银行卡)

随便添加一个域名到Cloudflare

这里使用ake.free.hr 白嫖的域名,理论永久

image.png

解析一条记录到源服务器IP

这里解析一条记录到源服务器IP后就当做CNAME记录
cdn.ake.free.hr,ip地址填自己的源站ip即可
image.png

设置SaaS回退源

image.png

把刚才添加的记录也就是CNAME记录填写到这里
然后点击添加 自定义主机名
image.png

添加自定义主机名

这里填写需要解析到Cloudflare的域名
比如zero2.me 改成你自己的域名
其他保持默认,然后点击添加自定义主机名

image.png

添加解析记录

添加两条TXT类型记录,我这里获取到的是

主机名1:_acme-challenge.zero2.me
记录值1:f5BbizqBOX2ToUcE3_akyGiYZK2aAkWS7OwIM5T0MHY

主机名2:_cf-custom-hostname.zero2.me
记录值2:38fcc6f7-4fd5-4d77-af9f-e4a9ede5db9e

image.png

打开自己域名的dns平台,我这里以dnspod为例

第一条:
我这里填写的主机记录是_acme-challenge.www
如果你的域名是abc.com
那么在Cloudflare中获取到的主机名就是_acme-challenge.abc.com
那么你在dns平台添加的主机记录就是:_acme-challenge
如果你的域名是www.abc.com
那么在Cloudflare中获取到的主机名就是_acme-challenge.www.abc.com
那么你在dns平台添加的主机记录就是:_acme-challenge.www
第二条记录以此类推

image.png
两条记录都添加好,然后添加一条你在Cloudflare设置的回退源域名,我这里设置的是cdn.ake.free.hr
因为我最终访问的域名是zero2.me,且让海外IP访问Cloudflare线路
所以我主机记录填写www
记录类型选择CNAME
线路选择境外

image.png

最后使用PING工具查看

使用itdogping一下zero2.me,可以看到境外全部指向了Cloudflare
image.png

补充几条WAF规则

找到WAF页面

image.png

放行SEO爬虫

添加自定义规则,点击编辑表达式
复制下方内容看图添加即可

(cf.client.bot) or (http.user_agent contains "duckduckgo") or (http.user_agent contains "facebookexternalhit") or (http.user_agent contains "Feedfetcher-Google") or (http.user_agent contains "LinkedInBot") or (http.user_agent contains "Mediapartners-Google") or (http.user_agent contains "msnbot") or (http.user_agent contains "Slackbot") or (http.user_agent contains "TwitterBot") or (http.user_agent contains "ia_archive") or (http.user_agent contains "yahoo")

image.png

托管质询(点击验证)

添加自定义规则,点击编辑表达式
看图添加即可,这个是对所有使用境外ip的访问者进行验证

或者使用表达式添加:
这些大写字母是国家或地区的简称,在其中的都是放行的国家。如果你只允许香港ip访问而不进行验证,则只添加"HK"(注意双引号)即可,如果想添加别的用空格隔开即可

`(cf.threat_score ge 5 and not cf.client.bot) or (not http.request.version in {"HTTP/2" "HTTP/3"}) or (not ip.geoip.country in {"HK"})`

image.png

请求速率限制

添加速率限制规则,看图添加即可

规则详解:

如果访问的url中包含/则触发请求速率限制
10秒内访问超过200次且持续时间超过10秒
则阻止该访问者ip

image.png