如何在阿里云 OSS 配置 CDN

温馨提示:本文使用 ChatGPT 润色
参考链接:

阿里云 OSS:https://www.aliyun.com/product/oss

阿里云 CDN:https://www.aliyun.com/product/cdn

前言

最近翻看阿里云账单的时候突然发现阿里云 OSS 服务多了一些开支,上控制台一看发现上月的外网流出流量达到了 7.36 GB,请求总次数达到了 42275 次。好家伙,怎么用了这么多!

仔细研究之下发现请求大多来自我的博客,上百度统计看了下,发现是有几篇博客火了,估计是被搜索引擎给收录了,一直有人访问。

那几篇博客的图片还不少,所以产生了较大的流量消耗。

对此,我也终于考虑在阿里云 OSS 中配置 CDN 了,因为 CDN 不仅访问速度更快,而且流量费用更低。

【OSS 的流量费用为 0.25~0.50 元/GB】

image-20230329001743182

【而 CDN 的流量费用为 0.24 元/GB,比 OSS 的最低价还便宜】

image-20230329001628290

所以必须得给 OSS 配置下 CDN 了,接下来就讲一下如何在阿里云 OSS 配置 CDN

在阿里云 OSS 配置 CDN

创建 Bucket

注意读写权限那一栏,要用作图床的话直接设置为公共读即可。

私有 Bucket

如果希望仅能通过 CDN 访问 OSS 资源,则将权限设置为私有

image-20230329002120535

绑定域名

在完成创建 Bucket 后,就可以在 Bucket 左侧菜单栏的 Bucket 配置域名管理中进行绑定域名和配置 CDN 加速了。

image-20230329002307934

配置源站

在绑定完域名之后,前往 CDN 管理页面进行 CNAME、源站信息等配置即可。

image-20230329002629261

源站设置为 OSS 的 外网访问 的 Bucket 域名,可以在 Bucket 的概览相关页面查看

image-20230329002922535

私有 Bucket 回源设置

如果 OSS 为阿里云 OSS 私有 Bucket,则需要额外开通阿里云OSS私有Bucket回源,详见 如何实现只允许绑定的 CDN 域名访问 OSS 资源

建议设置为只允许绑定的 CDN 域名访问 OSS 资源,原因是 CDN 在费用和流量控制上更为方便,也更加精确,避免 OSS 被滥用。

image-20230828001120684

image-20230828000932618

配置 CNAME

CNAME 需要在域名解析中进行配置,将 CNAME 配置为 CDN 的域名即可。

image-20230329003109728

配置防盗链

在配置完 CNAME 后,CDN 就可以正常使用了。

但由于设置了公共读,此时图床是没有访问限制的,任何人从任何网站都可以访问图片,因此会带来不必要的流量损耗,故为了保障自己的利益(少付点钱),十分建议配合防盗链。

OSS 配置防盗链

防盗链配置也很简单,只需要在数据安全里的防盗链进行配置 Referer 即可。

image-20230329003507798

这里有几个注意事项:

  • 可以使用 *通配符。假设主域名是example.com, 如果希望对自己所有的子域名开放的话就可以设置为*.example.com
  • 建议把 *.aliyun.com*.console.aliyun.com,不然在阿里云的控制台都看不了图片了。
  • 如果要更严格一点,可以设置不允许 空 Referer,但这样一来也会导致没有 Referer 的情况下无法预览图片。
    • 如果你也使用类似Typora的工具进行博客写作,那么此时你会发现一个问题,在Typora里面也无法加载图片了!这波是防盗链把自己防出去了!所以可以考虑设置 允许 空 Referer会更方便一些。
  • 防盗链是无法阻止在浏览器之外的访问的,防君子不防小人,并不是设置了防盗链就万事大吉了。

CDN 配置防盗链

在 CDN 中配置防盗链也是大同小异的,只需要在访问控制中的Referer防盗链进行配置即可。

image-20230329004454456

配置跨域

由于配置了 CDN,图片和网页必然不会在一个域名下,所以会产生跨域,因此需要配置 跨域资源共享CORS(Cross-Origin Resource Sharing),即跨域访问

跨域配置也很简单,在数据安全里的跨域配置里进行配置即可。

跨域配置也支持*通配符,所以也可以设置为类似*.example.com的格式。

image-20230329004814330

完成

经过上述一系列操作,就完成了在阿里云 OSS 中配置 CDN。

此时再将原本博客中的 OSS 链接一次性替换为 CDN 链接即可,图片就全部从 CDN 加载了。

就我个人的使用体验来看,流量全走 CDN 之后 OSS 这边的用量就大大降低了,在节约费用这方面还是非常明显的。

总结

本文介绍了如何在阿里云 OSS 中配置 CDN,通过配置 CDN 可以大大减少外网流出流量的消耗,同时提升访问速度。

在本文中,我们讲解了创建 Bucket、绑定域名、配置源站、配置防盗链和跨域等重要步骤,同时也提供了一些注意事项和建议。通

过本文的指导,您可以轻松地完成阿里云 OSS 配置 CDN 的操作,并且在流量消耗和费用支出方面得到明显的改善。

【总结由 ChatGPT 生成】


评论

发表回复