为什么使用CDN加速?

CDN(Content Delivery Network) 内容分发网络。如果仅有一台服务器,从全国各个地点访问就非常看当地到服务器之间的网络情况,距离较远或者较偏的地区访问内容速度可能会很慢。CDN就是为了解决这一问题诞生的。借助云服务商提供的CDN,我们从各个地点访问资源会被有限调剂到距离最近的服务器,如同镜像一般,让我们快速拿到资源。

CDN 的工作原理就是将源站的资源缓存CDN各个节点上,当请求命中了某个节点的资源缓存时,立即返回客户端,避免每个请求的资源都通过源站获取,避免网络拥塞、缓解源站压力,保证用户访问资源的速度和体验。

直接上效果图:

不使用CDN加速(图中表示访问一份资源的延迟情况):

image-20221203001133083

使用CDN加速:

image-20221203005150712

可见,有了CDN的加持,我们的资源变得更加处处可达、处处速达了。

JsDelivy

参考官方网站,JsDelivy是一个为开源资源准备的免费CDN。在国外,通过JsDelivy访问npm和Github将获得极佳的体验。

image-20221203010010097

参考官方给出的GitHub模式使用说明,如果我们在Github上面自己的共有仓库放了一份资源,就可以通过替换网址的方式,使用JsDelivy访问。例如我(jingjiecb)在自己名为k8sapidemo的仓库下master分支放了一个pom.xml,就可以通过https://cdn.jsdelivr.net/gh/jingjiecb/k8sapidemo/blob/master/pom.xml来访问这个文件。

腾讯云COS+CDN

如图,可以直接在COS管理界面配置。找到自定义CDN加速域名,在这里配置自己的加速域名,之后去CDN控制台配置HTTPS。配置过程全称有向导,HTTPS证书也可以在腾讯云上申请免费证书,直接使用,非常方便。

image-20221203125921427

腾讯云CDN+自定义源站

直接在腾讯云CDN申请,操作如图:

image-20221203143121474

先找到添加域名,然后进入添加域名界面:

image-20221203143216286

在如图所示的界面中,重点要填写的内容已标出。注意,如果加速域名是xxx.claws.top,则源站域名不能是xxx.claws.top或者claws.top,否则会提示“加速域名不能与源站域名相同”。如果源站位置填写的是域名,则不需要填写端口号。

配置HTTPS中,可以使用腾讯云上的证书,还可以配置http2和强制跳转等信息:

image-20221203144424737

由于CDN是采用的缓存机制,这意味着如果文件有所更改可能不能马上看到,为了让站点保持最新,要根据需要配置一下缓存配置:

image-20221203150034094

也可以立即使用缓存刷新来更新缓存。