对象存储加 CDN 是什么
CDN 回源对象存储是静态资源分发的标准架构:用户就近访问边缘节点,未命中时由边缘回源到对象存储。收益有两层——访问速度更快,回源之外不再产生源站公网流量费用,源站压力也显著下降。配置的重点是回源方式、缓存规则与缓存键,验证方式是看响应头中的缓存命中字段。
基本信息
| 回源方式 | 直接回源公共桶,或对私有桶做回源鉴权 |
|---|---|
| 核心收益 | 边缘命中后不产生源站公网流量,同时降低源站压力 |
| 关键配置 | 缓存规则、缓存键是否带参数、HTTPS 证书、刷新与预热 |
| 验证方式 | 用带响应头的请求查看缓存命中与缓存年龄字段 |
| 安全建议 | 私有桶加回源鉴权,比公共桶更稳妥 |
典型使用场景
- 静态站点加速:图片、脚本与样式就近分发,首屏明显变快
- 下载分发:安装包与媒体文件由边缘承担流量,源站不被压垮
- 私有资源分发:用私有桶加鉴权回源,兼顾安全与加速
- 版本发布:发布后刷新指定目录,让用户尽快拿到新版本
- 跨地域业务:用户分散在多地时,边缘节点显著缩短响应时间
验证缓存命中
验证缓存命中
# 查看响应头中的缓存命中与缓存年龄字段
curl -sI https://cdn.example.com/assets/app.js | grep -i "x-cache\|age"
# 连续请求两次:第一次多为回源,第二次应命中边缘
curl -sI https://cdn.example.com/assets/app.js > /dev/null
curl -sI https://cdn.example.com/assets/app.js | grep -i "x-cache"
# 确认回源地址不是内网域名,否则边缘节点无法回源
nslookup origin-bucket.example.com配置项与影响
| 配置项 | 作用 | 常见问题 |
|---|---|---|
| 缓存规则 | 决定哪些路径缓存多久 | 规则过长导致发布后仍拿旧文件 |
| 缓存键 | 决定是否把参数计入缓存 | 带参数资源被拆成多份缓存,命中率下降 |
| 回源地址 | 边缘回源的目标 | 误配内网域名导致完全无法回源 |
| 刷新预热 | 主动清理与预热边缘缓存 | 忘记刷新导致用户长期访问旧版本 |
| HTTPS 证书 | 加密访问与合规要求 | 证书过期造成全站访问告警 |
私有桶加回源鉴权比公共桶更安全:给 CDN 配置独立的回源密钥并定期轮转,避免桶直接对外开放导致内容被随意抓取。
回源地址不要填内网域名:边缘节点在公网侧,无法解析与访问内网地址,表现为访问全部失败或大量回源超时。