CDN的那些事
# 一、前言
大家好,我是尝试中成长 (opens new window)的站长,前段时间,群友的cdn被刷爆了,这就引起了我的恐慌,我大概接入了3个域名和一个cos,要刷的话,可能会倾家荡产,国内的cdn比较便宜但是没有防护,国外的就比较贵,节点少,开了等于没开,但是他们是有防护的,盗刷应该不会这么严重,腾讯云其实也有一个类似的功能产品,scdn,有个问题,太贵啦,当时年少不懂事,测试给我花了30块,应该可以想象价格的高昂了吧。这次针对cdn的某些设置进行了一点点的优化,至少在你的网站被cc或者ddos时,自动关闭cdn,避免高昂的费用。
# 二、基础配置
一般大部分人都会选择根域名直接接入,然而这个在很多产商是不允许的(goddady,Google domain等等),涉及网络制定的规范问题(搜索dns解析cname为何不能直接接入根域名),不过也提供了一些替代性方案,dnspod是支持直接接入的,推测可能是采用替代性方案实现的,如果不支持,最简单的方案就是接入www子域名。
cdn配置一句话描述就是,添加域名产生cname记录,dns上面添加一条cdn cname记录到该域名上,申请ssl证书,添加到cdn上,等待cdn生效,cdn配置完毕。
加速区域:不说了,如果你认为你的主要客户是国外可以选择国外结点,不过这会导致一个问题,你需要清楚主要分布的区域并购买流量包,不然按需流量计费是比较贵的,cdn会帮你选择最佳结点,若你购买的套餐没有包括这个结点,你需要额外付费。所以保险起见还是选择国内比较好一点。
加速域名:国内的厂商必须备案才行,所以没有备案的朋友看到这里就可以结束了。
cname:自动创建的,作为cname记录值
加速类型:应该是对不同类型的文件进行了优化,一般情况下选择网页小文件就ok
ipv6访问:根据实际需求开启或者关闭,不过值得一提的就是,如果开启的话,就不能添加区域黑名单或者白名单了(根据ipv4地址进行限制)
接下来配置一下源站
一般情况下就是配置自有源即可,回源协议我是习惯选择https(和源站有关),这里补充一点,我们访问网站本质上就是协议+IP地址+端口访问的,请务必确保源站可以通过这种方式访问,否则cdn也是无法访问的。
# 三、访问控制
稍微配置一下可以减少一些cc和ddos的攻击,主要是对ip和流量进行控制
防盗链设置
加白比较容易,黑名单可能太多了,我自己是加了一些例如百度和必应谷歌等搜索引擎的域名进去,还有一些自己的友链啥的。
ip黑白名单
这个一般是加黑,比如某台攻击你的机器,如果只是自己用的话也可以加白。
ip访问qps
即控制每秒的请求数,一般情况下是不会有啥问题的,当然你的网站如果很大的话这个访问阈值就要调整了
高级配置
这个配置比较复杂暂时没有尝试过,总之就是更安全了。
下行限速配置
即获取资源的速度,一般情况下只有css,js,html等文件,几百k就行,也可以根据实际情况更改,比如站点有比较多的音乐资源啥的,可以一定程度上减少ddos时的损失。
境内访问端口
一般情况下80和443就行了,如果时采用8080端口访问可以开启(注意这里为cdn服务器上的,自己服务器的配置无效,看上去只能支持这三种端口,有兴趣的朋友可以试试其他端口)
区域访问控制
仅能控制ipv4的ip,设置区域白名单和黑名单达到控制的效果。(目前免费,不排除后面收费)
远程鉴权
即使用自己的服务器完成鉴权操作,需要自己写代码(比较复杂,企业级的网站可能有这个需求)。
# 四、缓存配置
缓存键规则配置(默认就行,跳过)
节点缓存过期配置
这个根据个人喜好配置,同时也决定着回源的频率,还有你的更新频率决定,我一般是一周更新一次,也可以写完强制更新
在域名管理那边找到强制更新的选项,需要五分钟左右进行同步(有点慢,其实是结点比较多可以理解)。
浏览器缓存
浏览器一般也会进行缓存的,这里配置的图片缓存策略,比如正在看这篇文章的朋友多次打开浏览器,不需要重复加载多次内容。
状态码缓存(不知道啥作用,跳过)
http头部缓存(开启就完事了)
访问URL重写
类似伪静态或者起到防盗的作用,太麻烦了,跳过。
合并回源
类似主从从模式的回源,降低源站的压力
分片回源(一般是大文件才需要开启的,我们这里跳过)
回源HTTP请求头配置(默认就行)
回源跟随301/302配置(我这里是开启,提高用户的体验,减少一次重定向)
回源超时和url重写
目前站点还是挺快的,根据自己的需求配置
回源SNI配置
我的是小站绑定了好多个域名,所以需要开启这个设置,不会导致串站的情况。
# 五、HTTPS配置
https服务(目前收费,不过是每个月300w次以上收费,一般个人博客达不到这个量)
https配置(这里配置证书)
HTTP 2.0配置(开启就行)
强制跳转
这个务必要开启,有个小锁会安心一点
HSTS配置和TLS版本配置
我的配置是这个,开就完事了,不懂可以搜索一下
OCSP装订配置(开启就完事了)
# 六、高级配置(最重点来了)
看之前务必看完腾讯云的这篇简介预防高额账单 (opens new window)
自定义错误页面配置(可以不配置,只是会影响体验,建议配置成自己独有的404界面或者首页)
用量封顶配置
其实这个配置挺大了,平时一个月只有2g的用量,但还是以防万一,即时关闭cdn和加ip黑名单。
SEO配置(开就完事了)
HTTP响应头配置(没看懂,默认就行)
智能压缩
可以参考如下配置,主要是针对静态文件的配置
离线缓存
主站服务器宕机时保证,cdn还可以用,不过对于动态网站而言这个比较鸡肋,数据都是存数据库的,数据库一般在主站,所以主站服务器宕机,这个网站基本上也是不可用,可开可不开。(曾经开过,然后被缓存心态搞崩了,所以关了)
POST请求大小配置
即上传数据之类的请求,可以根据自己的网站进行调整。
# 七、结语
之前在非主流论坛 (opens new window)里面出现的各种盗刷,好多坛友都对国内cdn失去了信心,其实无论是从哪种角度,国内的cdn都是非常不错的,相信会越来越好的。