本文主要是学习记录使用,会包含很多引用以及自己的理解。主要目的是记录和分享使用,想测试CDN加速的效果可以访问我的主页alvincr.com (由于我允许大家爬取自己网站进行学习使用,可能在特定时刻效果并不是很好)
Table of Contents
Table of Contents
1.基础知识:
1.1 什么是CDN加速
1.2 CDN工作原理
传统访问过程
CDN访问过程
1.3 NS记录
1.4 生存时间 (TTL)
2.注册及配置CloudFlare
2.1 个人使用cloudflare缘由
2.2 cloudflare作用
2.3 cloudflare注册
2.4 cloudflare 配置
3.使用效果(更新)
CDN的全称是(Content Delivery Network),即内容分发网络。其目的是通过在现有的Internet中增加一层新的CACHE(缓存)层,将网站的内容发布到最接近用户的网络”边缘“的节点,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,提高用户访问网站的响应速度。
简单的说,CDN的工作原理就是将您源站的资源缓存到位于全球各地的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上获得源服务器的数据。
域名服务器 (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
TTL 是 DNS 记录中的一个值,可决定对该记录所做的后续更改需要多少秒才会生效。网域的每条 DNS 记录(如 MX 记录、CNAME 记录等)都有一个 TTL 值。一条记录目前所设的 TTL 决定了您现在所做的任何更改需要多久才会生效。例如,如果一条记录的 TTL 为 86400 秒,则对该记录的更改最多需要 24 小时才会生效。
免费
使用人数众多
网站服务器在香港
提供网站安全管理、性能优化及相关的技术支持为主要业务,帮助网站阻止来自网络的黑客攻击、垃圾邮件等,并提升网页的浏览速度。个人使用仅仅是为了CDN加速。
官网:https://www.cloudflare.com/
中文站:https://www.cloudflare.com/zh-cn/network/china/
注册完成后添加个人站点地址,并按需使用相关服务,(如果对英文不是很熟悉,可以使用浏览器的翻译功能进行翻译)个人网站第一个免费选项已经够用。
备注:2020.5.5测试发现,使用CloudFlare在中国访问速度非常缓慢,请主要是中国访问的用户不要使用CloudFlare配置NS记录
如果出现没有提及的页面,直接进行默认操作即可
出现DNS查询结果,如果不全可以自己添加DNS记录
以Namesilo为例:
按照提示删除这几个NS记录,更换为要求的NS即可
注意:修改成功后等待1-2小时,才会生效。还要进入到你注册CLOUDFLARE使用的邮箱里面,在收到的cloudflare验证邮件里面点击verify,将邮箱完成验证。
其它修改方法汇总:https://www.imhunk.com/change-ns-on-namesilo-godaddy-and-wanwang/
2020.5.5备注:通过查询CDN相关文章(CDN有CDN相关问题),如果是像我这样个人学习使用的小站,并且访问速度在两三秒之间,Ping值很低,没必要使用CDN加速,我个人采用CDN加速后国内访问速度极慢,最后又重新解析回来了。
参考:
CDN加速原理
https://www.jianshu.com/p/1dae6e1680ff
如何用CDN加速你的网站 – Cloudflare免费版详细使用教程
https://www.imhunk.com/cloudflare-tutorials/