首先我们来了解一下CDN可以解决什么问题:
阿里云CDN,全称内容分发网络(Content Delivery Network,简称CDN),是建立并覆盖在承载网之上、由分布在不同区域的边缘节点服务器群组成的分布式网络。替代传统以Web Server为中心的数据传输模式,将源站资源缓存到阿里云全国各地的边缘服务器,解决因分布、带宽、服务器性能带来的访问延迟问题,适用于站点加速、点播、直播等场景。
这里我们主要介绍传统意义的CDN,也就是通过缓存对图片、视频等静态文件进行加速的CDN。
接入阿里云CDN的步骤:
我们这里将网站接入阿里云CDN加速,简单分为4个步骤,遵循这4个步骤,即可将您的web服务,接入阿里云CDN进行加速。
业务确认-->域名配置-->功能验证-->DNS切换
1)业务确认
首先我们应该确认需要加速的业务信息,比如
加速域名:即需要加速的业务域名,假设您的网站图片资源访问域名是img.domain.com
业务类型:阿里云CDN对于不同的文件类型,有针对性的优化方案,所以需要明确加速的文件类型,例如图片小文件、大文件、音视频等
源站:即实际业务的服务器,取决于您资源的存储方式,CDN源站可以是阿里云 OSS、IP或源站域名
回源HOST:源站决定了回源时,请求到哪个IP。回源 HOST决定回源请求访问到该IP上的哪个站点
加速区域:阿里云CDN支持在全球范围内进行加速,可以根据业务需要,选择“中国大陆”、“全球”、“港澳台及海外”三者之一的加速范围。如果选择前两者,需要将加速域名在工信部备案后再接入。
2)域名配置
根据第一步确认的加速域名信息,在阿里云CDN控制按步骤创建加速域名即可
域名创建完成后,CDN还提供更多详细的功能可供配置,这里我们主要介绍几个:
- 回源HOST:
回源HOST 默认是加速域名本身,如果您的回源HOST和加速域名不一致,例如是源站域名,可自助进行修改。
- 缓存配置:
资源在CDN上缓存的时间,取决于缓存配置以及源站的HTTP响应头,具体可以参考 官方文档
https://help.aliyun.com/document_detail/27136.html
可以结合业务需要,根据目录或文件名后缀,设置合适的缓存时间。例如对于长期内容不会有变化的文件,我们建议配置长一些的缓存时间,以减少CDN回源量,提升请求命中率。
HTTPS配置:
CDN支持HTTPS访问,您可以提前准备好格式为PEM的证书和私钥,在控制台添加证书即可。需要注意的是,添加证书支持HTTPS访问的同时,也支持HTTP访问。
关于HTTPS的原理及优势可以具体参考官方文档:
https://help.aliyun.com/document_detail/109894.html
回源SNI:
CDN默认以非SNI的方式回源,如果您的源站仅支持SNI方式的请求,可以在控制台开启SNI回源。
关于SNI及具体配置,可以参考文档 https://help.aliyun.com/document_detail/111152.html
3)功能验证
经过前面两步,已经成功在阿里云创建了CDN加速域名,在正式迁移业务之前,我们首先要验证配置是否可用,是否符合预期。
正式将域名接入CDN,需要将域名的DNS解析,以CNAME记录的方式,解析到阿里云控制台提供的CNAME值上。
我们这里通过ping 或 dig cname域名的方式,获取CDN节点IP,然后可以通过绑定host的方式,测试加速域名是否可以正常访问。
绑定host的方式可以参考https://help.aliyun.com/knowledge_detail/40214.html
也可以通过curl 等命令行工具,指定IP进行测试,这里我们不做扩展。
如果您通过上面的方式,指定CDN节点IP,可以看到访问资源成功,说明CDN功能正常。
例如,通过CDN访问淘宝网站的图片
4)DNS切换
经过上面的验证后,即可将您的域名正式解析到阿里云CDN,在您管理域名解析的平台,将域名CNAME解析到控制台提供的加速域名CNAME地址即可。
阿里云/万网配置流程可以参考:
https://help.aliyun.com/document_detail/27144.html
注意:如果您是从其他CDN平台切入阿里云CDN,在正式更改域名解析之前,建议您提前针对热门url进行预热操作,提前将热点资源拉取到CDN节点,以避免CDN切换后因为节点默认没有缓存,大量回源导致源站压力较大。
切换CDN后,您可以通过CDN控制台的监控页面,查看域名带宽、命中率、状态码分布等数据,观察业务可用性。
好了,到这里,阿里云CDN基本的接入流程就介绍完了。下期再给大家分享CDN接入后的一些运维及管理经验。