前言
由于我的博客部署在Vercel等Serverless平台上,此类平台对于国内来说访问速度较慢,有的地区甚至会出现无法访问的情况,因此我打算使用CDN来加速网站,奖网站分发到国内节点,同时还能通过缓存功能减少流量消耗并加快访问速度。
什么是CDN
CDN英文全称Content Delivery Network
,中文翻译即为内容分发网络。它是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络。
简而言之就是,厂商在全国各地都有很多很多的服务器,每一个服务器我们称之为节点,很多的节点组成了CDN。
CDN的原理
CDN的工作原理就是将源站的资源缓存到位于全国各地的CDN节点上,用户请求资源时,就近返回节点上缓存的资源,而不需要每个用户的请求都回您的源站获取,避免网络拥塞、分担源站压力,保证用户访问资源的速度和体验。
在用户与源站之间加了一层CDN,用户先访问 CDN的节点,CDN节点再去源站拿取内容,当用户第二次访问的时候就会直接返回节点上缓存的内容,由于节点离用户近,所以用户拿到资源的速度就会缩短,访问也就变快了。
访问优先级
通常情况下,中国内地的网络质量有以下特点:
- 用户访问同运营商的 IP 地址过程中的网络质量优于访问跨运营商的 IP 地址过程中的网络质量。
- 用户访问同省运营商的 IP 地址过程中的网络质量优于访问跨省运营商的 IP 地址过程中的网络质量。
- 用户访问跨省同运营商的 IP 地址过程中的网络质量优于访问同省跨运营商的 IP 地址过程中的网络质量。
如何使用CDN
因为又拍云提供免费的每月10G云存储+15G流量,所以本文以又拍云为例进行说明。
加入又拍云
又拍云的免费流向需要你先加入又拍云联盟才可以获取:
首先注册又拍云,实名认证成功之后再申请加入又拍云联盟
然后按照网页上的要求,在网站底部加上又拍云的的标识,填写相关信息,提交申请。
如果你是 Butterfly 主题的话,可以直接在主题的配置文件找到 custom_text 并加入以下代码
1
| custom_text: <a href="https://www.upyun.com/?utm_source=lianmeng&utm_medium=referral" target="_blank" rel="noopener nofollow"><img style="position:relative;top:-2.5px;" src="https://cdn.jsdelivr.net/gh/caibhh/CDN/img/blog/%E5%8F%88%E6%8B%8D%E4%BA%91_logo5.webp" align="absmiddle" width="60px" height="30px">提供加速服务</a>
|
对于 Anzhiyu 主题,可以参考 在网页上加入自定义徽标 文章,修改配置文件,示例如下
1 2 3 4 5 6
| bdageitem: enable: true list: - link: https://www.upyun.com/?utm_source=lianmeng&utm_medium=referral shields: https://img.shields.io/badge/CDN-%E5%8F%88%E6%8B%8D%E4%BA%91-00b6ff?style=flat&logo=data:image/png;base64,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 message: 本站由又拍云提供CDN加速/云存储服务
|
数天过后会有邮件通知你成功加入又拍云联盟,67¥ / 年的代金券也发放下来了。
开启CDN
进入 CDN 服务管理,点击创建服务
如果你部署了多条线路,可以像我一样填写
最后点击创建,CDN服务就创建好了。然后按照提供的域名,将你的加速域名解析到此。例如我需要加速国内,而境外直接访问源站,可以这样解析:
然后你需要在SSL 证书服务申请SSL证书,然后在CDN服务管理中绑定证书,或者你也可以直接上传已有证书。推荐直接在又拍云进行申请,方便管理也支持自动续签。
点击申购证书-Let’s Encrypt,然后直接创建订单即可。然后在购买列表补全订单中的域名即可(需要创建玩cdn服务后先等待审核完毕)
证书申请成功后,回到CDN配置,在HTTPS-HTTPS配置中绑定证书即可,现在你的网址已经可以访问了。
配置CDN
这里给出我个人的配置,大家可以根据自己的需求进行调整。
缓存控制
- 全局缓存2小时(需要网站即时更新可不开启)
- 开启了分段缓存和离线模式
模板 | 资源路径 | 缓存时间 |
---|
字体资源 | /*.(ttf,otf,woff,woff2,eot,sfnt) | 7 天 |
图片文件 | /*.(jpg,jpeg,png,bmp,gif,psd,ico,tga,imb,tiff) | 7 天 |
音视频文件 | /*.(wav,mp3,wmv,rmi,aac,mp4,rmvb,mkv,avi,flv,swf,rm,mov,movie,qt) | 7 天 |
性能优化
- 智能压缩(GZip 和 Brotli 我都开启了,等级都为 3 级)但是要注意,当客户端同时支持 Gzip 和 Brotli 算法的情况下,Brotli 的优先级高于 Gzip。
- 页面压缩,开启
- 重定向跟随,开启
HTTPS
- TLS 1.3,开启
- 最低 TLS 版本,我选的
1.0
- HTTP/2,开启
访问控制(重要)
IP 黑白名单,建议大家把以下 IP 都加入到黑名单里
1 2 3 4 5 6 7 8 9 10
| 117.136.14.181 117.183.0.241 171.106.203.19 220.173.125.83 222.217.145.185 113.14.130.128 222.83.150.92 113.14.130.19 113.14.130.73 113.57.53.37
|
IP 访问限制,开启
点击添加限制规则,资源路径:/*
,限制策略:100 - 200 禁止 600 秒,200 - 500 禁止 3600 秒,500 以上 86400 秒
CC 防护,开启
URI 匹配规则:/*
,访问频率阈值:200 次,智能防护
WAF 保护,开启