CDN实践配置+原理篇

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: CDN实践配置+原理篇前几天配置了下自己在阿里云的对象存储中的CDN加速,这里记录写个教程为引入,来讲解一下CDN的相关原理及过程,希望对你有所帮助

CDN实践配置+原理篇

前几天配置了下自己在阿里云的对象存储中的CDN加速,这里记录写个教程为引入,来讲解一下CDN的相关原理及过程,希望对你有所帮助

CDN概念


CDN(Content Delivery Network,内容分发网络)是指一种通过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。

CDN作用


CDN一般会用来托管Web资源(包括文本、图片和脚本等),可供下载的资源(媒体文件、软件、文档等),应用程序(门户网站等)。使用CDN来加速这些资源的访问。

(1)在性能方面,引入CDN的作用在于:

  • 用户收到的内容来自最近的数据中心,延迟更低,内容加载更快
  • 部分资源请求分配给了CDN,减少了服务器的负载

(2)在安全方面,CDN有助于防御DDoS、MITM等网络攻击:

  • 针对DDoS:通过监控分析异常流量,限制其请求频率
  • 针对MITM:从源服务器到 CDN 节点到 ISP(Internet Service Provider),全链路 HTTPS 通信

除此之外,CDN作为一种基础的云服务,同样具有资源托管、按需扩展(能够应对流量高峰)等方面的优势。

直接上手配置


前提是你已经开通了对象存储,本部分教程仅介绍从对象存储→CDN加速,并以此为引,帮助回忆一下CDN的原理及过程;

控制台中进入对象存储应该是这个样子:

还有就是你应该在此之前准备一个域名,因为CDN本质上就是利用了DNS,后续原理篇会讲到,所以需要一个域名,同时,如果你需要HTTPS访问,你还需要准备一个SSL证书,这个本章节不详细涉及,请自行配置;

我这里就不重新从零配置了,直接从已经配置的地方开始讲讲,详细配置教程可以看这个参考链接

我们从上面图中箭头指向的链接进入可以看到CDN相关的配置信息,有如下两个地方值得注意:

  • CNAME:启用CDN加速服务需要将加速域名指向CNAME地址,这样访问加速域名的请求才能转发到CDN节点上,在这里就是我们的oss.justin3go.com => CNAME
  • 原站域名:我们对象存储中阿里云自动给的一个访问域名,一般来说是非常长一串的一个地址
  • 我们自己的域名:我们想要外界通过这个来访问的一个域名,我这里就是oss.justin3go.com

可以看到这里有三个地址(域名),那我们该如何进行解析呢?就是该如何进行域名映射,这就需要我们简单了解一下CDN的原理了,这时候之前记忆的八股文知识就被唤醒了...

先说是如何映射的:

oss.justin3go.com => CDN加速的CNAME

而前面那种图(从这往上数第二张图)中也配置了原站信息CDN加速的CANME => 原站oss域名

常见的oss配置方式


所以综上最后的域名映射关系就是下图中的方案四:

对于配置oss有如上如下四种方案(很基本的东西,这里简单做个对比方便大家理解):

  • 方案一:用户直接方案oss域名
  • 方案二:使用我们自己的域名对oss域名解析,方便记忆,就是我们平常域名拿来解析ip地址的作用,也是映射作用
  • 方案三:使用CDN加速,有CDN的优势,如访问速度快
  • 方案四:使用自己的域名对CDN域名进行解析,有方案二和方案三的结合优势

CDN原理篇


这小节主要解决这个问题“为什么CDN加速需要单独一个域名”

回答也很简单,就是CDN本质上使用了DNS解析来做到访问最近的节点资源,接下来通过下面这张图详细说一下CDN整个一个访问过程:

用户未使用CDN缓存资源的过程:

  1. 浏览器通过DNS对域名进行解析(就是基本的DNS解析过程),依次得到此域名对应的IP地址
  2. 浏览器根据得到的IP地址,向域名的服务主机发送数据请求
  3. 服务器向浏览器返回响应数据

用户使用CDN缓存资源的过程:

  1. 对于点击的数据的URL,经过本地DNS系统的解析,发现该URL对应的是一个CDN专用的DNS服务器,DNS系统就会将域名解析权交给CNAME指向的CDN专用的DNS服务器。
  2. CND专用DNS服务器将CND的全局负载均衡设备IP地址返回给用户
  3. 用户向CDN的全局负载均衡设备发起数据请求
  4. CDN的全局负载均衡设备根据用户的IP地址,以及用户请求的内容URL,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求
  5. 区域负载均衡设备选择一台合适的缓存服务器来提供服务,将该缓存服务器的IP地址返回给全局负载均衡设备
  6. 全局负载均衡设备把服务器的IP地址返回给用户
  7. 用户向该缓存服务器发起请求,缓存服务器响应用户的请求,将用户所需内容发送至用户终端。

结合刚才配置阿里云CDN的过程

  1. 用户访问oss.justin3go.com
  2. 本地DNS进行解析发现oss.justin3go.com对应的是CDN加速域名,于是将域名解析权交给CDN专用的DNS服务器,该专用DNS服务器返回CDN加速域名
  3. 用户请求CDN加速域名,通过负载均衡返回离用户最近的一个节点资源;

我们的oss原站地址会在CDN会定期同步资源到各个缓存服务器的时候使用,并且如果还未同步时,即缓存服务器还没我们将访问的资源时,会直接返回oss原站地址

最后


有些细节部分并没有一一验证,如果我理解有误的话,欢迎友善指出🎉


目录
相关文章
|
1月前
|
安全 网络安全 CDN
阿里云CDN HTTPS 证书配置流程
阿里云CDN HTTPS 证书配置流程
175 1
|
3月前
|
域名解析 网络协议 CDN
CDN配置CNAME
CDN配置CNAME
58 6
|
3月前
|
安全 算法 网络安全
CDN:配置HTTPS证书
CDN:配置HTTPS证书
56 1
|
3月前
|
负载均衡 网络协议 Serverless
CDN配置源站
阿里云CDN支持的源站类型包括OSS域名、IP、源站域名和函数计算域名,每种源站类型都支持配置多个源站地址,多源站场景下,支持设置源站的主备优先级和权重,实现负载均衡
51 3
|
3月前
|
域名解析 缓存 负载均衡
CDN配置前置条件
CDN配置前置条件
36 1
|
3月前
|
缓存 前端开发 API
云:CDN配置思路-1
云:CDN配置思路-1
116 2
|
9月前
|
存储 缓存 负载均衡
|
4月前
|
缓存 安全 算法
高防cdn防护原理是什么,是否可以防护服务器吗
高防cdn防护原理是什么,是否可以防护服务器吗
|
6月前
|
存储 缓存 负载均衡
TCP、UDP原理、DNS协议、CDN原理
TCP、UDP原理、DNS协议、CDN原理
220 0
|
域名解析 缓存 运维