前言
cdn是我们个人建站抗打击,增加安全性需要用的,目前国内没有备案的话速度比较不错的大厂cdn就是aws提供的cloudfront了。但是cloudfront的配置稍微有点复杂,对一些萌新不友好(甚至我当时也琢磨了半小时才接进去),所以本文将简述一下如何将你的网站接入并配置cloudfront (以下简称cft)
本文将以将Alist套入cloudfront cdn为例教会大家这个过程。其实所有网站都适用
原料:
- AWS账号
- 域名
- 小鸡(已经部署好能访问)
在源站的配置
首先,部署并解析好你的源站,确保使用你想要被套cdn的域名能正常访问源站的内容:
接着确保源站没有能阻断cdn回源的waf规则(如禁海外),接着就可以去AWS Console配置CDN了。
AWS Console的配置
首先,进入Clounfront控制台主页,点击左上角创建分配来新建一个分配(也就是cdn实例)
接下来就到了配置部分。
首先,往下滑找到”自定义SSL证书”中的”请求证书”那里,去ACM请求证书
如果你没有之前在acm中导入或请求证书,并且网站需要https,请先做这步,不然后面上传完了再回来cdn里的就白输了。
请注意,在导入或请求acm证书时,请确保你导入或请求的证书区域在us-east-1[美国东部(弗吉尼亚北部)],因为在aws中,cloudfront这个”服务”是提供在us-east-1区域的,他只能利用us-east-1区域的云资源。
按照提示请求证书,添加dns验证。我因为已经申请过了通配的证书就不再放出步骤,有不明白的可以参考ACM文档。
这里还有一个非常需要注意的点是如果你选择了导入证书,在填写证书信息时请拆分这个证书的中间证书链和服务器证书,把中检证书链填写在那个标注可选的框里,把服务器证书填写在证书内容里。
接着你应该能看到你的证书已经被成功导入(请求了)了。
然后回到cdn配置部分…
打开新建分配的仪表板,我们可以看到分为很多个”大块”,对于源站不在AWS的用户来说,实际需要配置的只有以下的几个大块:
- 源
- 默认缓存行为
- 设置
- WAF(计费,如果你有钱也可以开,开了会计费 如果需要『免费』的话别开就对了)
源板块的配置:
各项项目说明:
源:
对于源站不在aws的,输入一个指向你源站ip的域名。为了避免不必要的源站泄露,推荐使用*.nip.io域名(如你的源站ip是114.5.1.4,那这里输入114.5.1.4.nip.io即可解析到你的源站)
源协议:
回源用的协议(http or https),如果你站没有什么『特别的地方』,建议配置成仅https然后剩下保持默认
源路径:
就是aws回源时候用的url后面自动加上你这个路径,没啥必要。
名称:
相当于你给ta的”备注”(?)
自定义标头:
回源时带上的标头,用于源站的”身份确认”,对于普通人来说没啥必要。
源护盾:
就是回源的时候过一层aws的节点作为保护源站用的,计费,有钱开。
我的配置示例:
默认缓存行为:
这部分建议参考AWS官方文档,非动态网站建议按照我这么配置:
动态网站请把允许的HTTP方法全部勾选,然后缓存全部禁用。
WAF:
我才不要爆金币呢(狗头)
设置:
价格级别:
其实我也搞不懂该怎么选,反正我选的是第三个
备用域名:(重要)
这个域名是你需要加速的域名,即之前你『用它能正常访问源站上内容』的那个域名
填进去之后保存并选择证书,证书需要满足『使用者可选名称或公用名』中含有备用域名。
自定义ssl证书:
同上,需要包含所有备用域名。
支持的http版本,ipv6:
建议全部勾上打开。
默认根对象:
这个我也不太清楚,若没有特殊需求留空就好了,具体依然可以参考AWS官方文档
描述:
备注名而已
完事了之后点击创建分配,完成!🥳🥳
创建分配完了之后…
他会在详细信息显示一个分配域名,复制下来将你的那个源站的解析记录替换成cname到这个分配域名,就大功告成了!🥳
优选and分流
这个我打算单独出一期博文来介绍使用cloudfront+cloudflare saas实现网站海内外分流节流,尽请期待🥺