前言
如果参考之前的文章购买了国外的低价 vps 进行建站的话,会发现在晚高峰的时候进网站会卡很久,nas 也访问不了,不过 nas 传输的话我还做好相应的解决方法,可以后面研究一下 frps 的 p2p 连接。这一次我主要是一下如何通过亚马逊的 cloudfront 免费 CDN 来加速我们的网站。
CDN 介绍
首先说一下 CDN 是什么,CDN 的全称是 Content Delivery Network,即内容分发网络,官方的解释的话可能大部分人听不懂,我就直接来说说我的理解。打过游戏的小伙伴应该都知道有些游戏比如 LOL 的服务器是分地方的,不同的区在不同的地方的延迟都是不一样的,离服务器越近的话延迟就越低访问的速度就更快。而 CDN 的操作呢就相当于把网站上的内容在各地的 CDN 服务器上进行缓存,当你访问的时候直接会直接访问离你最近的 CDN 节点,实现加速访问的效果。
了解了 CDN 之后我们就来进行后面的加速操作。
CloudFront 注册
注册之前,必须准备一张国际信用卡,如果没有的话就只能去某宝帮忙验证或者去使用虚拟信用卡,大学生的话可以去注册工商银行的星座卡校园版。有了信用卡才能进行账号的注册。
先进入 CloudFront 官网
然后点击登录控制台,然后注册账号,根据提示操作即可。CloudFront 的注册是必须要信用卡验证的,因为有门槛所以没有像 cloudflare 一样被滥用,如果是搭梯子的话使用 cloudflare 的优选 ip 其实速度还是蛮快的,但是如果你是把网站部署在本地服务器上的话,frp 好像是不能通过 cloudflare 代理连接 frps 服务器的。
套 CDN
注册好之后就登录进入控制台,然后搜索 cloudfront
进入主页后,点击创建分配
这里的源域就是你需要加速的站点,直接填入你要加速的网站域名,原路径可以不填,源名称可以随意填写,切记一定不要打开源护盾(收费的)
后面的建议根据图片上的选项一样选择,之前不知道为什么,加速域名是无法访问我的服务器后端的,而且因为评论也会加载后端,然后只要加载评论就会报错,当时一直没有查到原因,后面的折腾了,发现这样设置之后就不会报错了,如果是静态页面的话按照默认的设置也是一样的。查看器协议策略这里要选择第二个,然后允许的 http 方法选择最后一个,最后一个保持默认即可
缓存键和源请求这里,按照图示的方法填写,后面的保持默认即可。
这里选择不要启动安全保护,价格级别默认即可,后面的备用域名相当于要重新给你的站点添加一个域名这里可以先不添加,后面的全部保持默认然后保存更改
然后在分配的首页就可以看到 cloudfront 的给我们分配的加速域名,我们通过访问这个分配域名就可以加速访问的网站,但是这个域名非常的难记,所以我们就需要一个备用域名用 CNAME 去指向这个加速域名,我们直接点击下面的编辑。
进入编辑页面之后直接添加备用域名,添加备用域名之后我们还需要添加证书,可以在域名注册商那里申请 ssl 证书,也可以在亚马逊的平台中申请,如果在亚马逊中申请的话直接选择请求证书
这里如果你有自己的域名的话就可以直接在左边栏中选择导入证书即可,如果没有的话也可以直接点击下一步申请证书
在一行直接输入你想添加证书的域名,验证方法的话直接 dns 验证,后面的默认然后点击的下一步。注意:dns 验证主要是为了验证这个域名是属于你的,所以验证了一次之后就不需要再验证,我这里已经验证了就没办法展示了,只需要按照提示,在域名解析控制台添加相应的解析即可
申请完成之后回到之前的添加备用域名的页面然后添加证书,就可以看到你刚才申请的域名证书了
点击保存之后,你可以通过备用域名加速访问你的网站了!
如果你的服务器在国外的话,可以先套 cloudflare 的 cdn 优选 IP 之后再套 CloudFront 的 cdn,cloudflare 的 cdn 虽然在国内是减速带,但是套了优选 ip 之后延迟和速度可以得到明显的优化,并且套了 cloudflare 可以隐藏你的源站 IP,可以有效保护你的服务器。但是如果你是本地服务器搭建的话,那么套了优选 ip 的源站访问速度还是比较慢的,所以就需要套一个 CloudFront 加速。
一般来说,如果套了 CloudFront 的 cdn 的话可以直接把源站域名给隐藏,给公众访问的话直接提供备用域名。这样也可以有效保护我们的服务器安全。
文章中还有很多不足之处,如果有错请大佬留言指正!