AWS免费CDN Cloudfront 的配置

1,338 字 7 分钟
AI 摘要
以Alist接入为例说明AWS CloudFront免费CDN配置,包括源站准备、ACM证书区域、源与缓存行为、备用域名及CNAME切换等步骤。

前言

cdn 是我们个人建站抗打击,增加安全性需要用的,目前国内没有备案的话速度比较不错的大厂 cdn 就是 aws 提供的 cloudfront 了。但是 cloudfront 的配置稍微有点复杂,对一些萌新不友好(甚至我当时也琢磨了半小时才接进去),所以本文将简述一下如何将你的网站接入并配置 cloudfront (以下简称 cft)

文章配图:Screenshot 2023 12 10 12 12 10 656 com.microsoft.emmx edit

亚马逊提供的 cloudfront 免费 cdm 服务,一个月一千万个请求和 1T 流量

本文将以将 Alist 套入 cloudfront cdn 为例教会大家这个过程。其实所有网站都适用

原料:

  • AWS 账号
  • 域名
  • 小鸡(已经部署好能访问)

在源站的配置

首先,部署并解析好你的源站,确保使用你想要被套 cdn 的域名能正常访问源站的内容:

文章配图:Screenshot 2023 12 10 11 06 25 779 com.microsoft.emmx edit

源站可以直接访问

接着确保源站没有能阻断 cdn 回源的 waf 规则(如禁海外),接着就可以去 AWS Console 配置 CDN 了。

AWS Console 的配置

首先,进入Clounfront控制台主页,点击左上角创建分配来新建一个分配_(也就是 cdn 实例)_

文章配图:Screenshot 2023 12 10 11 15 45 122 com.microsoft.emmx edit

创建分配

接下来就到了配置部分。

首先,往下滑找到 ”自定义 SSL 证书” 中的 ”请求证书” 那里,去 ACM 请求证书

如果你没有之前在 acm 中导入或请求证书,并且网站需要 https,请先做这步,不然后面上传完了再回来 cdn 里的就白输了。

请注意,在导入或请求 acm 证书时,请确保你导入或请求的证书区域在 us-east-1 [美国东部(弗吉尼亚北部)], 因为在 aws 中,cloudfront 这个 ”服务” 是提供在 us-east-1 区域的,他只能利用 us-east-1 区域的云资源。

按照提示请求证书,添加 dns 验证。我因为已经申请过了通配的证书就不再放出步骤,有不明白的可以参考ACM文档。

这里还有一个非常需要注意的点是如果你选择了导入证书,在填写证书信息时请拆分这个证书的中间证书链和服务器证书,把中检证书链填写在那个标注可选的框里,把服务器证书填写在证书内容里。

接着你应该能看到你的证书已经被成功导入(请求了)了。

文章配图:Screenshot 2023 12 10 11 27 53 356 com.microsoft.emmx edit

已颁发!😋

然后回到 cdn 配置部分…

打开新建分配的仪表板,我们可以看到分为很多个 ”大块”,对于源站不在 AWS 的用户来说,实际需要配置的只有以下的几个大块:
  • 源
  • 默认缓存行为
  • 设置
  • WAF (计费,如果你有钱也可以开,开了会计费 如果需要『免费』的话别开就对了)

源板块的配置:

文章配图:Screenshot 2023 12 10 11 33 33 543 com.microsoft.emmx edit

各项项目说明:

源:

对于源站不在 aws 的,输入一个 ** 指向你源站 ip 的域名。** 为了避免不必要的源站泄露,推荐使用 *.nip.io 域名(如你的源站 ip 是 114.5.1.4,那这里输入 114.5.1.4.nip.io 即可解析到你的源站)

源协议:

回源用的协议(http or https),如果你站没有什么『特别的地方』,建议配置成仅 https 然后剩下保持默认

源路径:

就是 aws 回源时候用的 url 后面自动加上你这个路径,没啥必要。

名称:

相当于你给 ta 的 ”备注”(?)

自定义标头:

回源时带上的标头,用于源站的 ”身份确认”,对于普通人来说没啥必要。

源护盾:

就是回源的时候过一层 aws 的节点作为保护源站用的,计费,有钱开。

我的配置示例:

文章配图:Screenshot 2023 12 10 11 45 52 616 com.microsoft.emmx edit

默认缓存行为:

这部分建议参考AWS官方文档,非动态网站建议按照我这么配置:

文章配图:Screenshot 2023 12 10 11 49 10 321 com.microsoft.emmx edit
文章配图:Screenshot 2023 12 10 11 49 30 815 com.microsoft.emmx edit

动态网站请把允许的 HTTP 方法全部勾选,然后缓存全部禁用。

WAF:

我才不要爆金币呢(狗头)

文章配图:Screenshot 2023 12 10 11 51 51 428 com.microsoft.emmx edit

设置:

文章配图:Screenshot 2023 12 10 11 54 11 053 com.microsoft.emmx edit

价格级别:

其实我也搞不懂该怎么选,反正我选的是第三个

备用域名:(重要)

这个域名是你需要加速的域名,即之前你『用它能正常访问源站上内容』的那个域名

填进去之后保存并选择证书,证书需要满足『使用者可选名称或公用名』中含有备用域名。

自定义 ssl 证书:

同上,需要包含所有备用域名。

支持的 http 版本,ipv6:

建议全部勾上打开。

默认根对象:

这个我也不太清楚,若没有特殊需求留空就好了,具体依然可以参考AWS官方文档

描述:

备注名而已

完事了之后点击创建分配,完成!🥳🥳

创建分配完了之后…

文章配图:Screenshot 2023 12 10 12 02 52 000 com.microsoft.emmx edit

他会在详细信息显示一个分配域名,复制下来将你的那个源站的解析记录替换成 cname 到这个分配域名,就大功告成了!🥳

文章配图:Screenshot 2023 12 10 12 09 59 978 com.kiwibrowser.browser edit

优选 and 分流

这个我打算单独出一期博文来介绍使用 cloudfront+cloudflare saas 实现网站海内外分流节流,尽请期待🥺

参考资料

『手把手配置Amazon CloudFront 实现全站加速 』-AWS官方博客

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

AWS免费CDN Cloudfront 的配置

https://blog.icybit.cn/posts/12
作者
IcyMichiko
发布于
2023-12-10
许可协议
CC BY-NC-SA 4.0

评论

Markdown

评论区加载中…