开通Cloudflare for SaaS
这个因为我已经开通了,就不演示了,可以自行百度
简单来说就是你需要一张支持Visa
的银行卡,或者绑定一个已经绑定了银行卡的PayPal
的账号(可以绑定国内银行卡)
随便添加一个域名到Cloudflare
这里使用ake.free.hr
白嫖的域名,理论永久
解析一条记录到源服务器IP
这里解析一条记录到源服务器IP后就当做CNAME记录
如cdn.ake.free.hr
,ip地址填自己的源站ip即可
设置SaaS回退源
把刚才添加的记录也就是CNAME记录填写到这里
然后点击添加 自定义主机名
添加自定义主机名
这里填写需要解析到Cloudflare的域名
比如zero2.me
改成你自己的域名
其他保持默认,然后点击添加自定义主机名
添加解析记录
添加两条TXT类型记录,我这里获取到的是
主机名1:_acme-challenge.zero2.me
记录值1:f5BbizqBOX2ToUcE3_akyGiYZK2aAkWS7OwIM5T0MHY
主机名2:_cf-custom-hostname.zero2.me
记录值2:38fcc6f7-4fd5-4d77-af9f-e4a9ede5db9e
打开自己域名的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
第二条记录以此类推
两条记录都添加好,然后添加一条你在Cloudflare设置的回退源域名,我这里设置的是cdn.ake.free.hr
因为我最终访问的域名是zero2.me
,且让海外IP访问Cloudflare线路
所以我主机记录填写www
记录类型选择CNAME
线路选择境外
最后使用PING工具查看
使用itdog
ping一下zero2.me,可以看到境外全部指向了Cloudflare
补充几条WAF规则
找到WAF页面
放行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")
托管质询(点击验证)
添加自定义规则,点击编辑表达式
看图添加即可,这个是对所有使用境外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"})`
请求速率限制
添加速率限制规则,看图添加即可
规则详解:
如果访问的url中包含/
则触发请求速率限制
10秒内访问超过200次且持续时间超过10秒
则阻止该访问者ip