博客的CDN应该怎么配置才能有效

2023-03-0211 min 杂项

合理的配置CDN能较大幅度的改善网站访问速度,减轻网站服务器压力,并有效的防范攻击,这里我以又拍云CDN为例来分享一下我在配置过程中所踩过的坑

CDN服务商的选择

对于像我们这种小型的个人博客来说,网站流量一般情况下都不大,完全可以选择那些免费的cdn来提供加速服务,市面上免费的CDN也有不少,像是七牛、又拍、百度等,我综合考虑选择了又拍,你们可以根据自己的需求来选择(以上三款我都用过,各有优缺点)

CDN服务商优点缺点
七牛- 新用户无门槛每月10g云存储和10gcdn流量 - 功能完善 - 有云存储客户端软件- 免费额度不支持HTTPS
又拍- 加入又拍云联盟后有每月10g免费额度 - 支持HTTPS - CDN功能较多- 云存储的客户端软件没有维护,基本处于不能用的状态 - 帮助文档上手有难度 - 有些配置项解释不清楚
百度- 实名认证后有每日10g流量 - 有百度收录加成?- 支持HTTPS- 速度相对较慢 - 后台功能相对较少 - 没有云存储功能

一开始我用的是七牛的,但是七牛免费是不支持HTTPS的就比较烦,后来用了百度跟又拍,百度虽然支持HTTPS而且免费流量管饱,但节点速度比较一般(也能接受),而且有时候出一些莫名其妙的问题,后来通过又拍云的联盟认证就使用了又拍云进行全站加速,配置过程中踩了不少坑,网上教程也不是很具体。

CDN的入门配置

首先是创建服务

config1

应用场景建议选择全站加速(图上忘了标记)

源站分离就是相当于源站有两个访问域名,其中一个是走CDN节点,另一个是直接访问服务器的。 如果是动态网站的话,我还是建议源站分离的,这样可以随时检查源站的情况,避免因为缓存问题造成的各种乌龙事件。

服务创建完毕后我们进入功能配置界面

config2

config3

拿到CNAME域名我们到域名服务商那里进行解析

至此CDN的基本配置已经完成,我们可以通过ping 自己的域名来测试是否正常解析到cdn了。

进阶配置

我们使用cdn的目的是为了加速全站的访问,对一些静态或者长时间不变的动态内容进行缓存,又拍云的缓存策略是动静分离的,它不会缓存动态生成的内容,而大部分静态内容我们直接放到云存储里就能解决加速访问的问题了,所以我的要求是要缓存所有的内容,包括动态生成的每一个网页(因为博客项目再不新增文章的情况下界面基本都是动态的),因此我们要进行配置。

cache1

cache2

cache3

再者就是安全性问题,使用cdn最害怕的就是被人刷流量导致瞬间倾家荡产,所以进行访问控制是非常有必要的, 我们进入访问控制配置

visit1

visit2

写在最后

以上是CDN比较基本的配置了,源站分离的模式对于开发环境比较友好,但也有几点需要注意的,因为源站暴露在外面的话攻击者就可以绕过cdn直接攻击源站了,因此我们需要在源站建立白名单只允许CDN的回源服务器跟自己能够访问到源站,还有就是要防止搜索引擎爬取源站,这两个都很好实现,可以自己找一下教程。

当然如果你想一步到位,不分离源站的话,在新建服务时源站地址要填你的服务器IP,回源HOST不设置使用默认,这样就可以了(要确保你的网站绑定了加速域名,不然回源会失败)。

又拍云的cdn还有很多进阶操作,比如图片处理,缩略图,给你的alist网盘加速等等,你可以自己研究。

评论
正在加载评论组件...