CDN防盗链与有效使用CDN缓存

CDN防盗链

应用场景

在我们搭建自己的阿里云CDN时,加快我们站点的静态文件响应速度。

但是与此同时,我们站点里的某些静态资源可能会被其他用户所盗取,然后使用我们的流量让他们的站点变得更流畅。

案例:

假设我们的网站为A 里面有一个静态的CDN链接

此时用户B看到我们的网站里的CDN链接并盗用了我这个链接,发布在他们自己的网站上。

此时用户看到用户B的图片的流程图

用户
站点B

可以看见用户并不知道这个CDN链接是属于我的,此时站点B就是在盗用我的CDN链接,并且没有给我带来流量。使用 阿里云CDN是存在外网下行流量费用和请求费用的。

站点B这样的行为我称之为”白嫖“。

如果我们只是站在在道德层面上去指责别人,并不采取措施,我们的钱包里的钱就是为他人来带便利和流量。

所以我们需要CDN防盗链

阿里云配置

step1:找到CDN防盗链配置

CDN控制台
域名管理

找到CDN防盗链配置

找到CDN防盗链配置

step2: 配置防盗链

配置防盗链

我配置允许通过浏览器地址栏直接访问资源url,如果关闭了,我们的域名访问我们的站点如果配置了cdn将无法被访问了。

以下是阿里云帮助文档对防盗链配置的描述:

设置防盗链功能,包括以下参数:

- Referer 白名单。仅允许指定的域名访问 CDN 资源。
- 是否允许空 Referer。如果不允许空 Referer,则只有 HTTP 或 HTTPS header 中包含 Referer 字段的请求才能访问 CDN 资源。

例如,对于一个名为 oss-example 的 Bucket,设置其 Referer 白名单为`https://www.aliyun.com/`。则所有 Referer 为`https://www.aliyun.com/`的请求才能访问 oss-example 这个 Bucket 中的 Object。

到这里就已经配置完成了,你可以尝试在本地的网页上引用该图片路径,发现无法访问,配置成功。

我们可以放心CDN链接流量不会被其他网站盗用了。

有效使用CDN缓存

应用场景

当我们配置好自己的CDN加速站点后,发现我们加载页面的时候会比较慢。

这是为什么呢?明明配置了CDN加速,并且理论上配置后速度应该很快才对,凭什么我的就比较慢呢?

排查问题

稍加思索,我用chrome浏览器打开F12看到

为啥我这么多静态文件加载速度这么慢? 特别是有好几个js文件只有几十kb,为啥加载将近1秒或者1秒以上?

分析问题

根据我的非专业理解分析(PS:图画得有点丑见谅=。=)

根据图可知:

原来在CDN服务器上会去判断该静态文件是否被缓存了,现在我开通阿里云CDN后还没有去配置过任何CDN缓存相关的东西(PS:我最开始以为阿里云会自动为我缓存=。=)。

解决问题

找到配置地点

域名管理
找到需要配置的域名

添加缓存

这里我是配置的目录 代表在我域名下所有的目录都将被缓存在CDN里

当然这里可以根据需要配 文件名后缀 或者目录。

至于过期时间可以根据自己的使用去设置。

使用后效果

可以看到相同的js已经加入CDN缓存后加载时间已经降低到几十ms了,速度已经大大的加快了。

这里需要注意的是:配置好CDN缓存后第一次加载可能还是会比较慢,因为CDN服务器中还没有该文件的缓存,还是要去服务器拉取,此时的速度也是根据服务器带宽来区分的。第二次加载时CDN中已经有缓存了,速度会非常快~

其他配置

在我们配置过程中,我们可以看到性能优化几个字眼(PS:我对性能两个字比较敏感,虽然还有安全配置啥的,但是我个人博客服务器我对安全就不太关注了,毕竟还要付费,哈哈哈)

把能点的都点上把,毕竟压缩文件也能节约流量,降低CDN使用成本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值