CDN加速的基本概念
CDN(Content Delivery Network,内容分发网络)是一个分布式网络,通过将内容缓存到全球各地的节点,减少用户访问网站的延迟,CDN可以帮助提升网站的加载速度、减轻服务器压力,并提供更稳定的访问服务。
前置条件
1、域名备案:国内所有域名需要备案,如果使用的服务商不是备案的服务商还要进行接入备案,个人或公司都可以备案,但个人备案不能经营。
2、域名解析:域名解析到CDN提供的网址,相当于CDN做第一次路由。
具体配置步骤
1. 选择CDN服务商并注册账号
选择一个可靠的CDN服务商,如阿里云CDN、腾讯云CDN、AWS CloudFront等,注册并创建一个CDN账号,完成账号认证后即可开始使用CDN服务。
2. 配置源站
源站是指你希望通过CDN加速的网站或应用,在配置源站之前,确保源站已经稳定运行并可对外提供服务,将源站与CDN账号绑定,这样CDN节点就可以获取到你想要加速的内容了。
3. 创建CDN配置
在CDN控制台中,创建CDN配置,这一步通常涉及选择合适的域名、设置缓存策略等,不同的CDN服务商可能会有不同的配置方式,请参考你所选服务商的文档进行操作。
基础配置
基本信息:在创建CDN时已经设置过,根据实际情况填写。
源站信息:源站的意识是如果缓存不存在,去哪里“要数据”,这里的源站不能使用加速的域名(会出现死循环),为了方便,直接写服务的ip+443端口即可,或者再申请一个域名,这个域名指向源服务器所在ip。
访问控制
防盗链配置:建议使用白名单模式,允许空referer访问。
IP黑白名单配置:根据需要配置,例如受到指定ip的攻击时加入黑名单。
IP访问限频配置:推荐开启,根据应用类型配置。
鉴权配置:根据需要配置,可以后端控制用户获取静态资源。
UA黑白名单配置:添加对指定请求头的控制。
下行限速配置:根据应用实际情况配置。
访问端口配置:保持默认,开启80和443。
区域访问控制插件:建议开启,如果只面向国内用户,建议开启只允许国内ip访问。
远程鉴权:需要自己搭建鉴权的服务器,有需要配置(需要后端开发支持)。
缓存配置
缓存键规则配置:建议忽略html这种url后面需要加参数的情况。
节点缓存过期配置:重点配置区域,api目录设定为不缓存,html、css、js等建议不超过2小时,php、jsp等不缓存。
浏览器缓存过期配置:保持默认即可,需要前端开发时去做。
状态码缓存:保持默认404,如果需要返回别的状态,根据需要调整。
HTTP头部缓存配置:建议开启,方便开发和应用。
访问URL重写配置:根据需要配置。
回源配置
合并回源配置:建议开启。
分片回源配置:通常不建议开启。
回源HTTP请求头配置:强烈建议开启,增加XForwardPort请求头获取真实ip。
回源跟随301/302配置:建议开启。
回源超时配置:保持默认配置。
回源URL重写配置:根据情况,一般情况默认即可。
回源SNI配置:保持默认关闭。
https配置
HTTPS服务:重点配置,强烈建议开启,不建议使用http,建议全部https。
HTTPS配置:务必上传域名的证书(https证书),否则会提示中间人攻击,直接无法访问。
HTTP 2.0配置:开启。
强制跳转:建议开启,通常情况下,后端的服务器应该也增加跳转或者直接关闭http的访问(只允许https)。
4. 验证CNAME配置是否生效
打开Windows操作系统中的cmd程序,在命令行中ping加速域名,如果返回的解析结果和CDN控制台上该加速域名的CNAME值一致,则表示CDN加速已经生效。
实践经验分享
在部署静态文件时,建议使用压缩技术来减小文件大小,从而提高传输速度和减少带宽消耗,常用的压缩格式包括gzip和Brotli。
对于动态内容,可以考虑使用CDN的动态加速功能,通过将动态内容的处理过程转移到CDN节点上,可以减轻源站的负载并提高响应速度。
在配置缓存策略时,要权衡缓存时间和更新频率的关系,如果内容更新频繁,可以适当缩短缓存时间;如果内容更新较少,可以适当延长缓存时间以提高性能。
在多个地区提供服务时,要注意选择合适的节点分布策略,确保在全球范围内提供一致的性能体验,在亚洲用户较多的地区可以部署更多的节点以提高访问速度。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1207620.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复