引入
CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
随着网民数量的急剧增长,以及网络攻击的成本降低,越来越多的网站需要通过CDN来加速并保护自己的网站。
正文
开始使用
接入CDN,需要先在CDN控制台添加新域名,填写源站IP,并且获取域名cname
记录值,并且于DNS解析处修改为CDN给出的cname
记录值。
之后,本地可以通过crtl+R
打开运行,之后输入ping 域名
来确认自己的解析是否生效。
缓存规则设置
大部分静态加速CDN提供文件缓存的自定义选项,允许用户通过修改缓存时间来减少源站压力。
注意:动态网站请不要使用"缓存所有文件",否则可能导致网站直接无法访问。
在腾讯云CDN控制台,我们可以看到缓存配置
→节点缓存过期配置
scode type="red"请注意,不要缓存后台目录,否则后台会出现问题/scode
(typecho默认后台为/admin
)
这里给出一个示例,建议使用在个人博客等对静态文件更新不严格的网站。
内容 | 缓存时间 |
---|---|
全部 | 0秒 |
mp3;wav;wmv;rmi;aac | 7天 |
jpg;jpeg.png;gif;bmp;webp;pcx | 7天 |
js;css;txt;xml;shtml | 30天 |
php;jsp;asp;aspx;html | 0秒 |
*温馨提示:腾讯云CDN的缓存策略是越靠下优先级越高,如果您是其他CDN,请根据实际用户文档进行配置!
如果博客存在视频、急速下载等功能,可以按需缓存。(这里强烈推荐动静分离、图站分离,主站与其他文件分开缓存,可以最大承担优化体验)
HTTPS配置
这是目前我在群里面发现萌新问的最多的问题,这里统一解答一下。
首先,HTTPS证书在同一台服务器上,要么全部使用,要么全部不要使用,否则可能会导致源站IP
泄露。
配置HTTPS证书的方式通常有三种:
①半程加密:在CDN处配置证书,用户访问之后会与CDN建立安全连接保障数据安全。
②全程加密:CDN处、服务器处均有证书,用户访问之后与CDN,CDN与服务器之间均为安全链接。
③严格加密:全程加密的基础上增加对证书的验证以保障数据绝对安全。(正常情况下无需开启,可能导致网站报错)
如果要配置证书,不存在在服务器处配置证书后CDN处不配置,否则会出现报错,显示为CDN节点的默认证书。
同时,如果CDN支持OCSP装订
HSTS
强烈建议开启,前者可以提高速度,后者可以加强HTTPS安全性。
减少损失
大部分CDN为按量计费,可能会被恶意盗刷,以下给大家提供一些防攻击的CDN端策略。
①CDN如有提供防CC功能直接打开即可,手动配置建议设置为3秒5次
②CDN没有提供防CC功能(比如腾讯云):图站分离的情况下带宽封顶配置设置为2M,若出现频繁超限可以适当增加
③IP访问限频配置:若主站完全不存图和静态文件,可以设置为20及以下,若有大量图片建议50+
,出现加载不全可以适当增加
④下行限速配置:腾讯云CDN下行限速限制的是单一节点,只要不是密集访问,一般不会造成影响,建议设置为256KB/s
(换算之后约为2M带宽)
补充说明
使用CDN的时候,务必确认CDN稳定性,切莫贪便宜。
出现任何问题可以工单询问客服,大厂一般都会解决。
文章同时发布在忆梦小站:https://www.onyi.net/archives/428.html