AWS CloudFront / 亚马逊CDN使用教程
AWS对于各项功能均有详细的官方文档可供参考,但官方文档过于繁杂,本文将就CloudFront服务的使用流程作简单说明。
目的:
为站点www.dancen.com开通CloudFront CDN服务。
步骤:
1. 打开CloudFront服务之后,首先需要选择分发类型。分发类型分为一般的静态文件分发和流媒体分发,即Web和RTMP,我的站点即选择Web类型。
2. CDN回源设定。
a. 首先要填写源站地址Origin Domain Name,源站可以是一个AWS S3,也可是是一个普通web站点。对于web站点,你要填写的的便是该web站点的域名,不支持直接填写IP;需要注意的是,该域名不能与站点提供给用户访问的域名一致,而是一个单独的回源域名。例如对于我的站点,其域名为www.dancen.com,我新注册了一个域名wwwcdn.dancen.com用于CDN回源。为什么回源域名不能与站点域名一致呢,很好理解,以我的站点为例,当用户访问站点www.dancen.com时,通过DNS系统查询得到站点的CNAME记录,CDN再通过对CNAME的解析到达边缘节点;当需要回源时,CDN又会访问回源域名,如果回源域名也是www.dancen.com,那就形成了一个循环,www.dancen.com -> CDN -> www.dancen.com,而且这是个死循环。
b. 其次,需要选择回源协议,对安全要求不高的话,选择http only即可。
3. 缓存设定。
a. 需要指定用户访问的协议,http和https、重定向http到https、仅https,根据需要选择。
b. http方法,默认选择GET,HEAD即可。
c. 需要注意的是对象缓存Object Caching的设定,该设定用来指定 CloudFront 为 Web 分配缓存对象的时长。
Use Origin Cache Headers选项表示以源站http header中Cache-Control max-age
或 Cache-Control s-maxage
指令或者 Expires
标头字段的设定为准;
Customize选项中,最短、最长和默认 TTL 值来控制 CloudFront 在缓存中保留对象的时长 (以秒为单位),超过该时长后才会将另一个请求转发到源。标头值还确定浏览器在缓存中保留对象的时长,超过该时长后才会将另一个请求转发到 CloudFront。
d. Query String Forwarding and Caching设定。CDN中缓存的对象是以查询的URL来区分的,该项的默认选择为NONE,表示忽略URL 中?之后的参数,有效提高文件缓存命中率,提升分发效率,这种情况下,
http://www.dancen.com/t.png?v1
http://www.dancen.com/t.png?v2
会被认为是同样的请求,当t.png已经被CDN缓存,并且没有过期时,即使服务器上的t.png被修改了,用户也获取不到新版的t.png。
虽然AWS官方推荐使用不同的文件名来对文件进行版本控制,但为了管理方便,我打算通过参数来对缓存进行版本控制,因此该项我设置为保留所有参数,即Forward all, cache based on all,这种情况下,
http://www.dancen.com/t.png?v1
http://www.dancen.com/t.png?v2
是两个不同的请求,当我修改了服务器上的t.png时,客户端只需要修改URL的参数,就能够获取到最新的t.png。
4. 分发设定。
a. 价格类别,价格类别由分发区域决定,最高档即全球分发,最低档即只在AWS的大本营北美进行分发。
b. 源站域名Alternate Domain Names,即我的站点提供给用户访问的域名,www.dancen.com,而该域名的CNAME,便要设定为最后CloudFront为我们生成的CDN域名:xxxxxxx.cloudfront.net。
c. SSL证书设置。
默认的ColudFront证书Default CloudFront Certificat。如果你让用户通过最后CloudFront为我们生成的CDN域名:xxxxxxx.cloudfront.net直接访问你的站点,那选择该选项。
自定义SSL证书。如果你让用户通过你自己的域名,例如www.dancen.com访问你的站点,那你就得为CloudFront提供该站点的证书,该证书可以通过ACM(AWS Certificate Manager)导入,具体流程参照本文最厚的的附文部分。
d. 创建分发,点击Create Distribution按钮即可。
5 获取CloudFront为我们生成的CDN域名。
创建分发后,待Status变为Deployed,说明CloudFront配置生效,这个过程可能耗费20分钟左右。
CloudFront会生成一个域名Domain Name:xxxxxxx.cloudfront.net,我们需要在域名提供商的DNS系统把源站域名,如www.dancen.com的CNAME记录设定为该域名。在CMD窗口执行nslookup命令检查你的域名,如www.dancen.com,能否解析出CDN提供的IP,确认CNAME设定是否生效,生效后CDN加速便算是开启成功,使用你的域名,如www.dancen.com测试通过即可。
附:
通过AWS的ACM(AWS Certificate Manager)服务导入站点SSL证书。ACM服务可以直接请求证书,也可以导入证书,这里假设你的源站已经使用https,有了SSL证书,因此只讲述导入证书的步骤。
1. 打开ACM服务,点击导入证书。
2. 填写证书内容。
到你的站点服务器,查看证书内容,并填入ACM。例如fullchain.pem文件即为证书,打开之,第一个begin-end即为证书正文,第二个begin-end即为证书链;privkey.pem文件即为私匙。填写完毕后,点击审核并导入即可。
AWS CloudFront / 亚马逊CDN使用教程相关推荐
- 亚马逊cdn使用教程_如何使用亚马逊车库找到适合您汽车的零件
亚马逊cdn使用教程 When you need to find a part for your car online, you need to be exact to make sure you g ...
- 转:海外购之Amazon亚马逊购物手把手教程
来源:http://www.smzdm.com/overseas-purchases-of-amazon-amazon-shopping-shoubashoujiao-process.html 本篇教 ...
- 阿里巴巴 OSS与AWS(亚马逊) S3 和腾讯云cos 存储服务 介绍篇
前言 对象存储服务,简单来说,可以把它当成一个"网盘",可以上传下载数据,也可以直接在这个"网盘"中对文件进行某些操作. 1.定时或者基于某种条件自动地,每天从 ...
- 图挖掘与多关系学习:工具与应用,亚马逊与CMU-WWW2021教程(附ppt)
来源:专知本文附ppt,建议阅读5分钟给出一个大的图,比如谁买什么,哪个节点是最重要的节点?我们如何找到社区? 给出一个大的图,比如谁买什么,哪个节点是最重要的节点?我们如何找到社区?如果节点有属性( ...
- AWS【亚马逊云】的EC2以及VPC网络框架介绍
简单介绍 主机 · AWS 上的云主机以 EC2 为单位向外提供. · EC2 分不同的规格,按定时计费.saving plan 等方式收费. · EC2 会免费获得一个ISP自动分配的外网IP,但是 ...
- 通过ssh连接aws(亚马逊 云服务器 实例)
一.Windows用户 windows可以使用PuTTY 和xshell,本文使用xshell. (1)第一步:配置服务器信息 打开xshell,新建连接,在菜单"连接"填写服务器 ...
- AWS(亚马逊云) EC2 Linux | ssh 使用密码登录
AWS EC2 Linux | ssh 使用密码登录 1.使用AWS控制台创建的密钥对或者直接通过网页登录 注意:使用pem私钥不允许直接登录root用户,只能登录默认用户例如:ec2-user ,u ...
- 亚马逊AWS CDN---CloudFront使用体验
CDN概念 CDN通过广泛的网络节点分布,提供快速.稳定.安全.可编程的全球内容分发加速服务,支持将网站.音视频.下载等内容分发至接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功 ...
- 亚马逊云免费服务器安装教程AWS微软系统教程含Tomcat,mysql,Tomcat去项目名,端口名!
一直想弄个云服务器耍耍,奈何费用较高,又是个人,所以一直没弄! 昨天偶然得知有免费云服务器,搜索到了亚马逊云 aws.amazon.com 闲话少说! 亚马逊云服务器安装教程windows系统 步骤如 ...
- AWS亚马逊云注册图文详细教程,多币种充值优势分析
一.介绍. AWS(亚马逊云)还是很不错的,特别是拿热销的云服务器EC2来说,实例类型就分为了通用.计算优化.内存优化.加速计算.存储优化几个方面进行分类,满足用户多方面的需求,而且具有很多附加功能, ...
最新文章
- seaborn系列 (18) | 线性回归图regplot()
- OpenGL ES之着色语言GLSL的使用说明及API
- 图形图像显示研究(一)
- 保护亿万数据安全,Spring有“声明式事务”绝招
- 关于生命周期函数dealloc的使用小结
- 长沙android工程师,长沙安卓工程师辅导
- 购物商城Web开发第二十二天
- IDEA导入JDK源码
- maya藤蔓插件_用maya制作藤蔓蔓延的效果
- 科密考勤机对比和参考价
- python谷歌翻译 频率限制_利用Google进行无长度限制的文本翻译(无需API,无需Money)...
- 1.1 2022 IT行业前景分析 | IT行业是什么工作 做什么的,互联网行业未来前景,发展趋势、职业规划,计算机专业主要学什么?就业前景如何?
- Failed to read artifact descriptor for com.google.errorprone:javac:jar:9+181-r4173-1
- Tony.SerialPorts.RS232简介
- 顶级数学家玩股票胜过巴菲特 被人建议改行(图)
- php做一个文章页面,wordpress主题制作教程(十):制作文章单页模板single.php
- 网络编程之端口:端口号为什么常见是8000、8080、8888...
- 看这篇就够了——ubuntu扩展屏幕及装显卡驱动后黑屏问题
- scratch如何调python_从Scratch到Python的新玩儿法-KittenBlockPython
- logstash-plugin install报错message: certificate verify failed