网页基础

建站操作–使用CDN加速

本文于2020年5月9日由AlvinCR更新

本文主要是学习记录使用,会包含很多引用以及自己的理解。主要目的是记录和分享使用,想测试CDN加速的效果可以访问我的主页alvincr.com (由于我允许大家爬取自己网站进行学习使用,可能在特定时刻效果并不是很好)

文章导引

1.1 什么是CDN加速

CDN的全称是(Content Delivery Network),即内容分发网络。其目的是通过在现有的Internet中增加一层新的CACHE(缓存)层,将网站的内容发布到最接近用户的网络”边缘“的节点,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,提高用户访问网站的响应速度。
简单的说,CDN的工作原理就是将您源站的资源缓存到位于全球各地的CDN节点上,用户请求资源时,就近返回节点上缓存的资源,而不需要每个用户的请求都回您的源站获取,避免网络拥塞、缓解源站压力,保证用户访问资源的速度和体验

总结:利用其它服务器解决自己服务器慢的问题。

1.2 CDN工作原理

传统访问过程

​​


由上图可见,用户访问未使用CDN缓存网站的过程为:

1.用户输入访问的域名,操作系统向 LocalDns 查询域名的ip地址.
2.LocalDns向 ROOT DNS 查询域名的授权服务器(这里假设LocalDns缓存过期)
3.ROOT DNS将域名授权dns记录回应给 LocalDns
4.LocalDns得到域名的授权dns记录后,继续向域名授权dns查询域名的ip地址
5.域名授权dns 查询域名记录后,回应给 LocalDns
6.LocalDns 将得到的域名ip地址,回应给 用户端
7.用户得到域名ip地址后,访问站点服务器
8.站点服务器应答请求,将内容返回给客户端.

CDN访问过程

​​


通过上图,我们可以了解到,使用了CDN缓存后的网站的访问过程变为:

1.用户输入访问的域名,操作系统向 LocalDns 查询域名的ip地址.
2.LocalDns向 ROOT DNS 查询域名的授权服务器(这里假设LocalDns缓存过期)
3.ROOT DNS将域名授权dns记录回应给 LocalDns
4.LocalDns得到域名的授权dns记录后,继续向域名授权dns查询域名的ip地址
5.域名授权dns 查询域名记录后(一般是CNAME),回应给 LocalDns
6.LocalDns 得到域名记录后,向智能调度DNS查询域名的ip地址
7.智能调度DNS 根据一定的算法和策略(比如静态拓扑,容量等),将最适合的CDN节点ip地址回应给 LocalDns
8.LocalDns 将得到的域名ip地址,回应给 用户端
9.用户得到域名ip地址后,访问站点服务器
10.CDN节点服务器应答请求,将内容返回给客户端.(缓存服务器一方面在本地进行保存,以备以后使用,二方面把获取的数据返回给客户端,完成数据服务过程)

通过以上的分析我们可以得到,为了实现对普通用户透明(使用缓存后用户客户端无需进行任何设置)访问,需要使用DNS(域名解析)来引导用户来访问Cache服务器,以实现透明的加速服务. 由于用户访问网站的第一步就是域名解析,所以通过修改dns来引导用户访问是最简单有效的方式.

总结:

使用CDN加速后在第6步开始不同,个人PC不再直接访问原网站的服务器,而是通过向距离自己最近的CDN节点访问,这样就不占用原服务器的资源,同时访问速度有较大提升。

CDN网络是在用户和服务器之间增加Cache层,主要是通过接管DNS实现,将用户的请求引导到Cache上获得源服务器的数据。

1.3 NS记录

域名服务器 (NS) 记录用于确定哪些服务器为一个网域传达 DNS 信息。您的网域通常会有主要的和辅助的域名服务器记录。使用 Google Cloud 服务时,您可以将 NS 记录配置为指向 Google 服务器进行 DNS 查询。

您注册域名时,总有默认的DNS服务器,每个注册的域名都是由一个DNS域名服务器来进行解析的,DNS服务器NS记录地址一般以以下的形式出现:

ns1.domain. com

ns2.domain. com等

如果需要将子域名交给其他 DNS 服务商解析,则需要添加 NS 记录。一般提供域名服务的公司不建议您换NS,除非你比较懂DNS,或者有一个DNS提供商给你提供DNS服务。如果您换了自己的域名的DNS服务器的话就需要到您DNS服务商的控制面板去解析自己的域名。如果所要查的某域名的NS记录不存在,则出现与以下类似的提示:

C:\>nslookup> set type=NS

> amafdsfxit. com. cn

Default Server: [202.106.184.166]

Address: 202.106.184.166

*** 202.106.184.166 can’t find amaxit. com. cn: Non-existent domain

1.4 生存时间 (TTL)

TTL 是 DNS 记录中的一个值,可决定对该记录所做的后续更改需要多少秒才会生效。网域的每条 DNS 记录(如 MX 记录、CNAME 记录等)都有一个 TTL 值。一条记录目前所设的 TTL 决定了您现在所做的任何更改需要多久才会生效。例如,如果一条记录的 TTL 为 86400 秒,则对该记录的更改最多需要 24 小时才会生效。

2.注册及配置CloudFlare

2.1 个人使用cloudflare缘由

免费

使用人数众多

网站服务器在香港

2.2 cloudflare作用

提供网站安全管理、性能优化及相关的技术支持为主要业务,帮助网站阻止来自网络的黑客攻击、垃圾邮件等,并提升网页的浏览速度。个人使用仅仅是为了CDN加速。

2.3 cloudflare注册

官网:https://www.cloudflare.com/

中文站:https://www.cloudflare.com/zh-cn/network/china/

​​

注册完成后添加个人站点地址,并按需使用相关服务,(如果对英文不是很熟悉,可以使用浏览器的翻译功能进行翻译)个人网站第一个免费选项已经够用。

2.4 cloudflare 配置

备注:2020.5.5测试发现,使用CloudFlare在中国访问速度非常缓慢,请主要是中国访问的用户不要使用CloudFlare配置NS记录

如果出现没有提及的页面,直接进行默认操作即可

  • 添加地址

​​

出现DNS查询结果,如果不全可以自己添加DNS记录

​​

  • 更改域名NS记录

​​

Namesilo为例:

​​

​​

按照提示删除这几个NS记录,更换为要求的NS即可

​​

注意:修改成功后等待1-2小时,才会生效。还要进入到你注册CLOUDFLARE使用的邮箱里面,在收到的cloudflare验证邮件里面点击verify,将邮箱完成验证。

​​

其它修改方法汇总:https://www.imhunk.com/change-ns-on-namesilo-godaddy-and-wanwang/

3.使用效果(更新)

2020.5.5备注:通过查询CDN相关文章(CDN有CDN相关问题),如果是像我这样个人学习使用的小站,并且访问速度在两三秒之间,Ping值很低,没必要使用CDN加速,我个人采用CDN加速后国内访问速度极慢,最后又重新解析回来了。


参考:

CDN加速原理

如何用CDN加速你的网站 – Cloudflare免费版详细使用教程

 

一条评论

回复 alvincr 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注