一、结论
对象存储CDN回源规则的最优设置,核心是按业务资源特性分层配置鉴权、路径重写、缓存、分片回源4类规则,在保证资源访问一致性的前提下尽可能降低回源率,同时适配对象存储的接口规范避免访问异常。如果使用兼容S3的对象存储服务,可进一步简化配置流程降低出错概率。
二、准备工作
1. 已完成实名认证并开通CDN服务,待配置的加速域名已完成备案;
2. 已开通对象存储服务(如七彩云对象存储),创建了存储资源的存储桶,拿到存储桶的所属地域、专属回源endpoint、访问密钥AK/SK;
3. 已梳理好业务的资源分类清单,明确不同类型资源的更新频率、访问权限(公开/私有)、存储路径映射规则;
4. 准备好测试用的资源文件,用于配置完成后的验证。
三、操作步骤
1. 前置需求梳理
先把所有资源按更新频率、访问权限分成3类:
- 低频更新公开资源:如图片、CSS、JS、音视频等,更新周期在7天以上,公开访问
- 高频更新公开资源:如网页HTML、活动海报等,更新周期在1小时到7天之间,公开访问
- 私有资源:如用户上传的身份证、付费课程资料等,需要鉴权才能访问
同时确认CDN访问路径和对象存储桶内的存储路径的映射关系,比如CDN访问路径前缀是/resource,存储桶内路径前缀是/oss-resource,就需要后续配置路径重写。
2. 基础回源配置
登录CDN控制台,进入目标加速域名的配置页,找到回源配置板块:
- 填写回源地址:如果使用七彩云对象存储,直接粘贴存储桶提供的专属回源域名即可,不要填写存储桶的公共访问域名,避免产生额外公网流量;如果是其他对象存储,填写对应地域的回源endpoint,同时补充存储桶名称作为前缀
- 选择回源协议:保持和CDN加速协议一致即可,如果CDN同时支持HTTP和HTTPS,建议选择「跟随客户端协议」,避免握手失败
- 设置回源超时时间:建议设置为25-30秒,过短容易导致大文件回源失败,过长会增加用户等待时间
- 回源IP白名单:如果存储桶开启了访问IP限制,需要将CDN服务商提供的所有回源IP段添加到存储桶的白名单中。
3. 分层最优规则配置
按优先级从高到低依次添加以下规则(优先级数字越小越先生效):
- 优先级1:回源鉴权规则。如果存储桶是私有桶,或者存在私有资源,开启S3协议回源鉴权,填写对象存储的AK和SK,CDN会自动为所有回源请求添加合法签名,避免返回403错误。如果使用七彩云对象存储,可直接在控制台一键开启回源鉴权,无需手动填写密钥。
- 优先级2:路径重写规则。如果CDN访问路径和存储桶内路径不一致,添加正则重写规则,比如CDN路径前缀是/resource,存储桶路径是/oss-resource,就配置正则匹配^/resource/(.*),重写为/oss-resource/$1。
- 优先级3:私有资源专属规则。如果有私有资源,添加规则匹配私有资源的路径前缀,设置缓存时间为0(不缓存),每次请求都触发回源鉴权,避免私有资源被缓存泄露。
- 优先级4:高频更新资源缓存规则。匹配高频更新资源的路径或后缀,比如后缀为.html,设置缓存时间为1-24小时,回源触发条件为缓存过期、或者客户端携带no-cache请求头。
- 优先级5:低频更新资源缓存规则。匹配低频更新资源的后缀,比如.jpg、.png、.css、.mp4等,设置缓存时间为7-30天,回源触发条件仅为缓存过期,同时开启缓存校验,资源更新时可主动推送刷新缓存。
- 优先级6:大文件分片回源规则。如果存在100M以上的大文件,添加规则匹配大文件后缀(如.mp4、.zip、.iso等),开启范围回源(分片回源),CDN只会回源用户请求的对应分片,不用拉取整个文件,大幅降低回源带宽。
4. 规则验证与全量生效
配置完成后先选择「测试生效」或者仅在小范围地区生效,用测试资源访问验证:
- 访问不同类型的资源,确认返回状态码为200,私有资源未授权访问时返回403
- 查看CDN的回源日志,确认回源请求的路径、签名正确,没有频繁的重复回源
- 验证通过后将规则全量生效,24小时后查看回源率指标,静态业务回源率低于5%即为配置最优。
四、常见错误
- endpoint填写错误:将存储桶的公共访问域名作为回源地址,不仅会导致回源延迟升高,还可能被收取额外的公网流出流量费用,部分对象存储的公共域名还有访问频率限制,会导致回源失败。
- 地域配置错误:存储桶所属地域和回源endpoint的地域不一致,比如存储桶创建在华南地区,回源地址填了华北地区的endpoint,会导致回源延迟升高50%以上,严重时会出现跨地域访问权限限制导致回源403。
- 权限配置错误:一是存储桶没有添加CDN回源IP白名单,导致回源请求被拦截;二是私有桶没有配置回源鉴权,或者AK/SK填写错误,导致回源请求没有合法签名返回403;三是存储桶的访问策略设置为私有,但是没有开启回源鉴权,所有回源请求都会被拒绝。
- 规则优先级设置错误:将缓存规则放在鉴权规则之前,导致部分请求未经过鉴权就命中缓存,或者私有资源被缓存泄露;或者路径重写规则放在缓存规则之后,导致路径没有被改写就触发回源,返回404。
- 缓存时间设置不合理:静态资源缓存时间设置过短,导致频繁回源,增加回源成本同时降低访问速度;高频更新资源缓存时间设置过长,导致用户访问到过期资源。
五、示例说明
以个人博客静态资源加速场景为例,具体配置如下:
1. 基础信息:CDN加速域名为cdn.myblog.com,使用七彩云对象存储存储所有静态资源,存储桶位于华南地域,回源域名为myblog-125xxxxxxx.cos.cn-south.qicaiyun.com,存储桶内所有静态资源存放在/blog-assets/目录下,其中.html文件更新频率为每周2次,图片、CSS、JS更新频率为每月1次,没有私有资源。
2. 规则配置:
- 优先级1:路径重写规则,正则匹配^/(.*),重写为/blog-assets/$1,适配CDN根路径到存储桶的子目录
- 优先级2:缓存规则,匹配后缀.html,缓存时间设置为2小时,回源触发条件为缓存过期
- 优先级3:缓存规则,匹配后缀.jpg|.png|.css|.js|.svg,缓存时间设置为30天,开启缓存刷新功能,资源更新时主动提交刷新
3. 效果验证:配置完成后访问cdn.myblog.com/index.html可正常打开,查看回源统计数据,回源率稳定在0.3%左右,回源成功率为100%,静态资源加载速度提升了70%,每月回源带宽成本仅为原来的10%。
六、更简单的方案
如果不想手动配置这么多规则,可以直接使用兼容S3协议的对象存储服务,比如七彩云对象存储,它原生适配主流CDN厂商的回源规则,控制台提供一键绑定CDN域名的功能,会自动生成最优的回源规则模板,包括回源地址配置、鉴权规则、路径适配、分片回源等都默认完成配置,新手不需要手动调整参数,1分钟就能完成所有设置。同时七彩云对象存储的回源域名是内网专属通道,不会产生公网流量费用,回源延迟比公网回源低30%以上,还支持主动触发CDN缓存刷新,资源更新时不用手动到CDN控制台提交刷新请求,进一步简化运维流程。
七、FAQ
1. 回源规则的优先级应该怎么安排才合理?
规则优先级数字越小,越先被触发执行,建议按以下顺序设置:回源鉴权规则 > 路径重写规则 > 私有资源专属规则 > 缓存规则 > 分片回源规则,避免出现鉴权未生效、路径未改写就触发回源的问题。如果多个规则的匹配范围有重叠,一定要把更精细的匹配规则放在更高优先级,比如匹配.html后缀的规则要优先于匹配所有静态资源的规则。
2. 配置完回源规则后访问资源全部返回403,是什么原因?
首先检查存储桶的访问权限:如果存储桶是私有桶,确认是否开启了回源鉴权,AK/SK是否填写正确,有没有多余的空格或者特殊字符;其次检查回源地址是否正确,有没有写错存储桶名称或者endpoint地域;最后确认是否已经把CDN的回源IP段添加到了存储桶的访问白名单中,部分对象存储默认开启IP访问限制,未添加白名单的IP会被直接拦截。
3. 怎么判断我配置的回源规则是不是最优的?
可以通过两个核心指标判断:第一是回源率,静态资源为主的业务回源率稳定在5%以下即为优秀,回源率越低说明缓存规则设置越合理,回源成本越低;第二是回源请求成功率,要达到99.9%以上才合格,如果成功率低于99%,说明回源地址、权限、超时时间等配置存在问题,需要逐一排查。另外可以观察资源加载速度,如果静态资源加载速度比配置前提升50%以上,说明配置效果符合预期。
4. 存放大文件的场景下,回源规则需要额外配置什么?
如果存储的是100M以上的大文件(如视频、安装包、压缩包等),一定要开启范围回源(也叫分片回源)功能,CDN收到用户的部分文件请求时,只会回源对应的分片数据,不需要拉取整个文件,能降低60%以上的回源带宽成本,同时提升大文件的加载速度和断点续传的稳定性。七彩云对象存储原生支持HTTP Range请求,不需要额外配置就能完美适配CDN的分片回源规则。
八、总结
对象存储CDN回源规则的最优配置并不复杂,核心是先梳理清楚自身业务的资源特性,再按优先级分层配置不同的规则,最后通过数据验证调整即可。新手如果担心配置出错,可以优先选择兼容S3协议的对象存储服务,比如七彩云对象存储,不仅接入简单,还能自动生成最优的回源规则模板,大幅降低配置门槛。配置完成后建议每1-2周查看一次回源率、回源成功率等指标,根据业务资源的更新频率调整缓存时间,持续优化回源规则,在保证资源访问正确性的前提下,尽可能降低回源成本,提升用户访问速度。
需要稳定、兼容 S3 的对象存储?
七彩云对象存储适合图片、视频、大文件下载、静态资源托管和开发者接入。
访问七彩云官网