AWS CDN加速
更新日期:
文章目录
CDN加速将网站的内容缓存在网络边缘(离用户接入网络最近的地方),然后在用户访问网站内容的时候,通过调度系统将用户的请求路由或者引导到离用户接入网络最近或者访问效果最佳的缓存服务器上,有该缓存服务器为用户提供内容服务;相对于直接访问源站,这种方式缩短了用户和内容之间的网络距离,从而达到加速的效果。
使用亚马逊提供的云服务的话,他家提供了强大的CDN加速,具体开启步骤如下:
- 默认情况下,如果不使用CDN加速的话,我们是直接在
Hosted zones
里添加一条记录(record set),如:域名:api.example.com
,类型:A,设置值为IP:<1.2.3.4>。这种方式是直接把一个域名绑定到某台服务器的IP上。 - 为了使用CDN加速,需要先添加一条
CloudFront Distribution
,选择web类型,Origin Domain Name
填一个内部的域名,如:internal-api.example.com
,Allowed HTTP Methods
把POST等选择上,这样的话,不然的话,会不支持许多如POST、PUT等HTTP方法。还有如果有登录的功能,把Forward Cookies
选为All。如果地址是带参数的,还要把Forward Query Strings
选为Yes。Alternate Domain Names(CNAMEs)
填上原来的域名,如:api.example.com
。最后提交后会生成一个xxx.cloudfont.net
的域名,记录下来。 - 回到
Hosted zones
,新增一条record set
,名称为上面写的内部域名,如:internal-api.example.com
,类型为A,值为原来设置的IP:<1.2.3.4>。 - 在
Hosted zones
中,修改原来的域名api.example.com
的设置,从原来的类型A换成CNAME,值设为前面记录下来的xxx.cloudfont.net
域名。
这个步骤第一次弄的话,会有点绕,我们可以通过HTTP请求的流程来记:
12client -> Public Domain -> CNAME -> Internal Domain -> A -> IPclient -> api.example.com -> xxx.cloudfont.net -> internal-api.example.com -> A -> 1.2.3.4
参考:
- http://www.baike.com/wiki/CDN%E5%8A%A0%E9%80%9F