,Amazon CloudFront,说到亚马逊这个CDN服务,估计不少玩外贸站或者自建图床的朋友都挺熟的。它就是个全球内容分发网络(CDN),作用嘛,就是让你网站上的数据、图片、视频这些东西,能以最快的速度、最低的延迟送到全球访客手里。最香的一点是,亚马逊对每个账户都挺大方,每月直接送1TB的免费传出流量。这对于个人博客或者中小型项目来说,基本就是白嫖了。而且,CloudFront的节点遍布全球,超过225个,都是用高速光纤连着的,性能和稳定性这块儿没得说。
咱们站长用得最多的场景,无非就是给网站加速,或者给对象存储S3里的文件做加速。今天,我就带大家一步步走一遍,怎么给自己的网站套上这个免费又好用的CloudFront CDN。
开始创建分发的时候,首先要指定一个“源”。你可以选已经创建好的S3存储桶,或者直接填一个域名。这里得特别注意,这个“源域名”可不是你最终要给访客访问的CDN域名(比如 cdn.yourdomain.com),而是你服务器的“回源域名”。你可以把它理解成一个跳板,这个域名必须直接解析到你源站服务器的IP地址上。
把你的回源域名填进去,CloudFront会自动检测你的服务器支持HTTP还是HTTPS,通常保持默认就行。
接下来就是配置缓存行为了。比如要不要自动压缩Gzip/Brotli,访客用HTTP还是强制HTTPS访问,以及允许哪些HTTP方法(GET, HEAD, POST等)。亚马逊提供了一些预设的缓存策略,对于大多数网站来说,用推荐的`CachingOptimized`就挺好。
价格级别这里,如果你想省钱,可以只选北美和欧洲的节点。但要想全球加速效果最好,我个人建议还是用“使用所有边缘站点”,毕竟免费流量在那儿摆着呢。如果你还用了AWS的WAF防火墙,也可以在这里关联上。那么,问题来了,我们到底在哪儿绑定自己真正的CDN域名呢?
答案就在“备用域名 (CNAME)”这里。
把你想用的CDN域名填到“备用域名”里。但你如果现在就点保存,100%会报错,信不信?就像下面这样。
To add an alternate domain name (CNAME) to a CloudFront distribution, you must attach a trusted certificate that validates your authorization to use the domain name. For more details, see: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html#alternate-domain-names-requirements
看到这个提示别慌,这是AWS的一个安全机制。它的意思是:“你想用这个域名?可以,但你得先证明这个域名是你的。”证明的方法,就是给这个域名申请一个SSL证书并绑定上来。
我们需要先去AWS的证书管理器(Certificate Manager)里申请一个免费的SSL证书。验证方式选DNS验证最方便,它会给你一条CNAME记录,你只需要去你的域名解析后台,把这条记录添加上就行。等几分钟,验证通过后,证书状态就会变成“已颁发”。
只有等SSL证书搞定之后,我们再回到CloudFront的设置页面,在“自定义SSL证书”那里选上刚刚申请好的证书,这时再添加备用域名,就能顺利保存了。
创建成功后,CloudFront会分配给你一个专属的分发域名,类似 `d123abcde.cloudfront.net` 这样。最后一步,就是去你的域名解析后台,把你自己的CDN域名(备用域名)通过CNAME记录解析到这个CloudFront给你的域名上。这样流量就正式接管过来了。
别急,还没完!还有个服务器端的配置别忘了。
CloudFront会用HTTP(80)和HTTPS(443)端口请求你的源站服务器,所以你的Web服务器(比如Nginx)必须能够响应回源域名的访问。简单说,你得在网站的Nginx配置文件里,把回源域名和最终的CDN域名都加上。
server {
listen 80;
# 比如1.test.com是回源域名,2.test.com是最终给用户访问的域名
server_name 1.test.com 2.test.com;
……
}
就像这样,把两个域名都写进`server_name`里。
经过这么一套操作,你的网站就成功用上了亚马逊的全球CDN加速服务。对于做外贸或者需要全球访问速度的网站来说,效果立竿见影。记住,每月1TB的免费流量用起来很爽,但超出了可是要按量计费的哦。
我亲手实测:免费申请亚马逊AWS 12个月账户资格的完整激活教程
估计不少朋友都听说过亚马逊云(AWS)的大名,服务器、数据库、对象存储都挺牛的。以前主要是英文界面,劝退了不少人。现在方便多了,而且AWS一直都有免费套餐,在云服务商里算是相当慷慨的。如果你还没有AWS账号,想白嫖一下它家的服务,可以看看我之前写的这篇详细申请教程。
更新日期:2022/7/18
阅读全文
评论前必须登录!
注册