前言

最近我听闻咕咕的博客总是被攻击,导致咕咕从动态的Halo博客换到了静态Hexo,但还是挂在自己的VPS上,还是遭到了攻击,听说这几次攻击也是造成了一定的经济损失,现在咕咕的博客也是套上了CDN以免进一步遭受损失。我也是在咕咕的B站动态下提出了一个解决方法,这里就和大家一起实际操作一下。因为国内的各种限制导致国内的想使用CDN必须备案,但大多数小伙伴只是随便玩玩,很多朋友的域名和服务器可能没有实名或备案,如果大家也有类似的需求也可以参考这篇文章,无需任何备案域名

国外免费CDN

国内的CDN大多是需要域名的实名和备案的,但是国外的CDN服务商就没有这个要求了。最为广泛的两家CDN应该非CloudFlareGcore莫属了,我记得Gcore每月是有10G的免费流量的,但是CloudFlare没有这个限制,这里就以CloudFlare作为演示

接入CloudFlare的CDN

解析域名

这个步骤很简答,进入CoudFlre的官网,注册或登入一个账号后,将你的域名添加至CloudFlare,这里需要去到你的域名购买处将顶级域名的NameServer(名称服务器)改成CloudFlare的。然后就是等待CloudFlare的解析了,解析成功后就会收到一封邮件,这个过程需要5分~72小时不等。这里值得注意的是,CloudFlare直接接收顶级域名和少部分的二级域名(例如abc.eu.org

添加记录并开启CDN

域名成功解析到CloudFlare后,进入官网,点击进入自己的域名在侧边栏找到 DNS -> 添加解析

这里假设我的顶级域名是a.com,我有个服务器的IP为201.247.81.2,这个服务器上的80端口搭建了我的博客,我需要访问的域名是blog.a.com,则类型选择A名称填入blogIPv4地址201.247.81.2,然后默认就是开启了小黄云(CloudFlare的CDN),然后点击保存即可,过5分钟后再ping一下blog.a.com就可以发现解析成功了,解析IP的地址应该是美国旧金山,打开博客应该也能正常访问,并且blog.a.com还能解析一个IPv6的地址,这样在纯IPv6的环境下也可以正常访问。IPv6的VPS也是可以这么操作,只是把类型A改成AAAA,这样VPS不仅能在IPv6的环境下正常访问,在IPv4的环境下也是可以正常访问的。这样不仅有了CloudFlare的流量加速和源服务器保护,也相当于将自己的VPS免费升级成了双栈VPS。

为什么说CLoudFlare是减速器

最主要的原因还是CDN可以保护后端的服务器的IP,许多人就利用这个特性搭建代理服务器。这么使用的人数太多了,所以国内运营商就劣化CloudFlare的CDN线路,导致本应加速的CDN服务成了“减速器”

利用优选IP加速CloudFlare的访问

这里推荐一个开源项目CloudflareSpeedTest可以帮助你找到在你的网络环境下相对优秀的CloudFlare的CDN的IP或者是反代了CloudFlareCDN的服务器IP,在一定程度上改善访问CloudFlare的体验

SaaS回源

上面介绍优选IP的方法是针对访问者的,但对于管理者来说并不好用,毕竟不可能让每个人在访问网站的适合都优选一次IP,这里就可以利用SaaS回源(之前是可以用CNAME的方式接入CloudFlareCDN的,但被滥用的太严重,现在就取消了,不过CloudFlare也为免费账户提供了100个SaaS回源域名,也算是够用了)

什么是SaaS回源

这里简单介绍一下,SaaS回源主要是给没有使用CloudFlare域名解析的域名提供CloudFlareCDN的一个功能。大致操作是:需要准备两个域名a.comb.com(只有一个域名b.com也行,就把a.com换成二级域名xx.b.com),a.com是访问网站用的域名,b.com是回源域名。将a.com解析到DNSPod(阿里云这种有智能域名解析的也行),b.com解析到CloudFlare,然后再在边栏找到SSL/TLS ->自定义主机名,然后添加一个退回源,这里我填写origin.b.com,然后再回到DNS页面将域名origin.b.com解析到VPS的IP上,注意要关掉小黄云(CDN),不然无法添加。然后再回到自定义主机名刷新一下退回源,就可以看到退回源状态正常了,然后添加自定义主机名,域名填写你要给别人访问的网站a.com,然后回到DNSPod按照CloudFlare的提示体现域名的txt解析,然后再添加一个地址解析,地址就填你优选的IP就好。回到CloudFlare重新刷新一下验证就解析完成了,浏览器输入a.com就可以正常访问网页了,不仅套了CloudFLare的CDN并且与直接套CDN,进行了优选IP访问速度也有一定的优化。
下面是原理图:
SaaS回源原理

优化SaaS回源

上面介绍了SaaS回源的优势和具体实操方法,但是优选出的IP未必一直是最好的,可能过两天之后的访问效果就不好了,或者是这个IP在电信的网络访问就很顺畅,但是在移动的网络下就无法访问,这时就需要一个云端的机器为我定时优选IP,并且这个VPS还要需要拥有电信、联通、移动等不同的网络环境,并且最好在全国各地都有测试VPS,这里还是推荐一个项目CF2DNS其使用方法这里也不在赘述,只需要将域名替换成a.com就好,服务就好自动解析不同网络环境相对较好的优选IP到a.com,这里也是前面我说的为什么要使用有智能DNS的DNS服务,这里就可以为移动网络的访客解析移动网络访问性最好的IP,为联通的访客解析联通访问较好的IP。
下面是原理图:
优选原理图

白嫖

这个项目虽好,但确实一个付费项目,虽然一个月也花不了几块钱,但如果你也不喜欢的话也可以用已经优选好的域名,只需要直接把a.comCNAME到对应的域名上即可

1
2
3
4
5
6
7
# 双栈
ru1.mianfenyun012.eu.org
pathon.redgo.top

# ipv4
fd.shabijichang.com
yd1.992688.xyz

国内直连

如果你的情况和咕咕一样,可以参考接下来的操作。
VPS是GN2的线路,国内直连访问速度很快,但是会受到国外的网络攻击,其实大致方法相比大家也知道了吧,还是利用智能解析。设置a.com的DNS记录在解析线路这里,选择境外,然后地址填写CloudFlareCDN的IP(其实境外访问CloudFlare的速度一直很快,随便找个IP就好),然后在添加一条解析记录,解析线路选择境内、地址就填写VPS的IP。这样既不会降低国内访客的访问体验,也能保护站点免受国外的攻击

下面是原理图:
国内直连原理图