Amazon Cloudfront

Cloudfront是Amazon提供的CDN服务,有每月免费1T的流量,该流量不可累计。个人小站的话,这个CDN是足够用的了,而且主要是国内访问的速度还不错。但是需要注意不要被攻击了,不然AWS的扣费还是很贵的。

https://aws.amazon.com/cn/cloudfront/

解析域名

首先先解析个三级域名到你的需要加CDN的网站的VPS IP上,比如

这里的 8.8.8.8 就是你的VPS IP。这里的cdn就是你的三级域名前缀,这个域名是看不到的,这是回源域名用的。用户访问的是后面Cloudfront生成的域名地址或者是自己加的CNAME域名地址。

创建账号

前往 https://aws.amazon.com/cn/cloudfront/ 注册个账号,并且绑定个信用卡,建议绑定小额的或者限额,否则扣起费来吃不消。

创建个Distributions

然后填入你刚刚解析的那个回源域名,比如刚刚解析的 cdn.ednovas.blog

Protocol一般选择https only保证TLS。不过如果不清楚的话,可以选择Match viewer。

然后此页面其他全部默认就行

如果有TLS的https,还是建议开启https强跳。

下面这里Price class选择默认即可,或者按需选择

下面的HTTP versions可以把HTTP/3也勾选上

如果不想用cloudfront默认的奇怪的长长的三级域名的话,这里可以加个CNAME,当然还需要用AWS自己的证书才行。

CNAME这里输入你想让用户访问用的CNAME域名,比如 user.ednovas.blog,用户访问这个地址就会访问你加了CDN的网站了。

然后如果要用CNAME的话,必须使用AWS的证书才可以,需要点下面的request certicificate来获取一个证书

直接选择Next即可

然后输入你要加证书的域名,然后选择默认的DNS验证即可。

点进去

然后在域名中解析对应的CNAME名字和值

记得把小云朵关上

然后过几分钟就可以验证成功申请下来了

然后在CDN的页面,选择刚刚申请的这个证书(如果一直没有,可以先保存当前的CDN设置,然后再点击Edit编辑加上这个CNAME和证书)

需要等待生效的时间比较久,可能需要几十分钟

然后访问CNAME地址就可以了!

添加限制

然后在Distributions中,还可以设置其他的一些Behaviors,Error pages,Geopraphic restrictions等,这里以Geopraphic restrictions 为例,屏蔽除了中国以外的所有用户访问

Allow list仅选择国内然后保存,等待几分钟生效即可。

效果

用 ping.pe 测试CDN的效果还可以

开启费用提醒

右上角账户这里选择billing

可以把这几个全都打开,然后设置提醒免费资源用尽提醒邮箱