随着网站业务,用户的增多,网站也会也会随着产生越来越多媒体(图片,视频等)。这些内容将会拖慢你的网站速度,导致用户流失。根据谷歌统计:网站加载时间慢一秒则转化率减少百分之7。而面临这些复杂的网络环境,以及全球用户的访问体验,使用CDN(内容分发网络)成为了我们的最好选择之一。
Amazon CloudFront 是亚马逊云科技一项加快将静态和动态 Web 内容分发给用户的速度的 Web 服务。CloudFront 通过全球数据中心(称作边缘站点)网络传输内容。当用户请求用 CloudFront 提供的内容时,请求被路由到提供最低延迟(时间延迟)的边缘站点,从而优化网站速度。
Amazon CloudFront原理图
Amazon CloudFront拥有众多边缘节点,为网站加速提供了可靠、低延迟和高吞吐量网络连接。
Amazon CloudFront的边缘节点
1.针对网络和应用层攻击的保护
Amazon CloudFront、Amazon Shield、Amazon Web 应用程序防火墙(WAF)和 Amazon Route 53 无缝协作,创建了灵活的分层安全边界来抵御多种类型的攻击,包括网络和应用层 DDoS 攻击
2.SSL/TLS 加密和 HTTPS
使用 Amazon CloudFront,可以使用最新版本的传输层安全(TLSv1.3)通过 HTTPS 传递内容、API 或应用程序,以加密和保护查看器客户端与 CloudFront 之间的通信
3.访问控制
利用 Amazon CloudFront,您可以通过大量功能来限制对您的内容的访问。(如IP访问控制,地区访问控制,浏览器访问控制)
登录控制台在左上搜索Cloudfront快速找到产品,点击创建Cloud Front分配。
源站(Origin):即需要被加速的站点(不是用来访问的域名)。它可以是 S3 , ELB/EC2,Elemental MediaStore/MediaPackage等等。也可以用户自定义站点。所以这里我们填自己网站域名。
源协议策略:源协议策略确定需要的协议(HTTP 或 HTTPS),这里我们选择第三个“匹配查看器 ”,CloudFront会根据源站进行选择使用HTTP 或 HTTPS。注意:该源是 源站的SSL证书必须与指定的域名匹配。
源路径:(默认不填就行)如果源站内容有多层目录,且又希望回源的时候路径上不体现这些目录,可以在此设置要隐藏的目录层级。例如:配置源路径 /conut 后,客户访问www.xxx.com/index.html 相当于访问源站 origin.xxx.com/cont/index.html
添加自定义标头:可以在请求源站时,带上特殊的Http header头,例如可以带上自定义的验证头。默认即可
启用源护盾:护盾源护盾是一个附加的缓存层,可以减少源站回源的压力,如果源站不在亚马逊云科技上部署,通过源护盾,还可以改善回源的稳定性和速度。注意:启用源护盾会产生额外的费用。请明白自己是否需要。
其他设置:默认即可。
路径模式:选择默认是 * 即可,就是全部匹配。支持通配符 * 代表0或多个字符,? 代表完全匹配一个字符。注意路径模式是区分大小写的。例如 image/*.jpg 代表image目录下的所有jpg文件都遵循这个缓存行为。
自动压缩对象:是否在客户端支持的时候,返回源站文件的压缩版本,以优化体验。选择“是”
查看器协议策略:需要指定用户访问的协议,http和https、重定向http到https、仅https,根据需要选择。
允许的 HTTP 方法:默认第一个即可
缓存策略
这一步比较重要,应该根据自己业务选择对应的缓存策决。CloudFront默认提供了多种缓存托管策略,可以直接选择使用,也可以根据需要自定义缓存策略来使用,默认提供的托管策略如下:
托管 缓存策略 | |
---|---|
CachingOptimized | 适用于静态网站加速的场景。源站不会因为不同用户、不同终端等返回不同的内容,内容默认进行了压缩。 |
CachingOptimizedForUncompressedObjects | 和上面策略相同,但不进行压缩。 |
CachingDisabled | 适用于动态内容,或不可缓存的内容。 |
Elemental-MediaPackage | 为Amazon Elemental MediaPackage服务配置的策略。 |
Amplify | 为Amazon Amplify Web应用程序配置的策略。 |
源请求策略:缓存策略用于决定内容是否进行缓存,以及缓存的时间。CloudFront默认提供了多种缓存托管策略,可以直接选择使用,也可以根据需要自定义缓存策略来使用,默认提供的托管策略如下:
托管 源请求策略 | |
---|---|
UserAgentRefererHeaders | 仅包含User-Agent和Referer标头,可以统计客户来源。 |
CORS-CustomOrigin | 包含Origin标头,适用于自定义源启用跨源资源共享 CORS。 |
CORS-S3Origin | 适用于S3源启用跨源资源共享 CORS。 |
AllViewer | 适用于动态请求的源站,源站可以获取查询字符串和Cookie等信息。 |
Elemental-MediaTailor-PersonalizedManifests | 适用于Amazon Elemental MediaTailor 终端节点的源 |
响应标头策略
可以默认不选
默认即可
默认不启用。使用Amazon WAF会额外计费,如有需要可以使用下方自带的价格估算费用
价格级别
默认选择‘’使用所有边缘站点‘’以获得最佳性能来实现全球加速
备用域名(CNAME)
注意:这里的备用域名指的是真正需要CDN的域名。即给用户访问的域名,也就是国内CDN厂商中的“加速域名”。(若使用自己域名,该项是必须项)CloudFront Distribution 创建完成后,CloudFront 会提供一个以 cloudfront.net 结尾的域名,如果需要使用自己的域名的话,需要在此处填写待使用的域名。
而且直接添加保存是不行,会提示错误。我们需要到自定义SSL证书中验证域名所有权。
验证证书成功我们再添加域名。
最后关闭标准日记记录,打开ipv6。点击创建分配即可完成配置。