要实现“用户访问快、节省OSS流量费、缓存文件”的效果,标准的操作是将 OSS 接入 阿里云 CDN。
核心原理
不使用 CDN 时: 用户 -> DNS解析 -> 直接从 OSS 服务器下载图片(慢,且消耗 OSS 下行流量,贵)。
使用 CDN 后: 用户 -> DNS解析 -> 最近的 CDN 节点(命中缓存则直接返回,没命中则回源去 OSS 拉取)。
具体操作步骤
第一步:准备工作
拥有一个域名:不能直接用阿里云给的那个长长的 xxx.oss-cn-hangzhou.aliyuncs.com,必须绑定你自己的域名(如 img.你的域名.com)。
ICP备案:如果你的 OSS Bucket 在中国大陆,绑定的域名必须完成备案。
第二步:在 OSS 控制台绑定域名并开启 CDN
这是最快捷的入口,系统会自动帮你把 CDN 配置好。
-
登录 阿里云 OSS 控制台。
-
进入你的 Bucket(存储空间)。
-
在左侧菜单找到 “Bucket 配置” -> “域名管理”。
-
点击 “绑定域名”。
-
在弹出的页面中:
- 域名用户:输入你想用的二级域名,比如
static.example.com。 - CDN 加速:勾选开启(这一步是关键)。
- 域名用户:输入你想用的二级域名,比如
-
点击提交。此时,阿里云会自动为你创建一个 CDN 域名,并配置好“源站”指向你的 OSS。
第三步:获取 CNAME 地址
配置完成后,在“域名管理”列表中,你会看到你刚才绑定的域名。
- 状态会显示“配置中”或“已配置”。
- 在列表中找到 CNAME 这一列,你会得到一个类似
static.example.com.w.kunlunsl.com的地址。 - 注意:这个
kunlun*.com就是阿里云 CDN 的专属地址。
第四步:去 DNS 控制台做解析(最关键的一步)
这一步是将你的域名流量正式引流到 CDN 网络。
- 进入 阿里云云解析 DNS 控制台。
- 找到你的主域名(如 example.com),点击“解析设置”。
- 点击 “添加记录”:
- 记录类型:选择 CNAME。
- 主机记录:填你刚才设置的前缀,比如
static。 - 记录值:粘贴第三步获取到的那个
...kunlunsl.com的地址。
- 保存。
第五步:配置缓存规则(这才是你想要的“缓存”)
解析生效后(约10分钟),流量虽然走了 CDN,但你需要告诉 CDN 文件要在节点上存多久。
- 进入 阿里云 CDN 控制台。
- 点击左侧 “域名管理”,找到你的域名,点击右侧 “管理”。
- 在左侧菜单选择 “缓存配置”。
- 在 “缓存过期时间” 栏目下,点击添加:
- 类型:建议按 文件后缀名。
- 内容:填写
jpg,png,gif,css,js,webp等静态文件后缀。 - 过期时间:建议设置 1个月 (30天) 或更久。
- 解释:这意味着一个月内,用户访问同一张图,CDN 直接给,不用去骚扰你的 OSS,速度极快且不产生 OSS 流量费。
注意:
HTTPS证书:如果你希望通过 https://static.example.com 访问,你需要去 CDN 控制台的“HTTPS配置”里上传你的 SSL 证书,而不是在 OSS 里配。
缓存刷新:如果你在 OSS 里替换了一张同名的图片,用户可能看到的还是旧图(因为 CDN 缓存还没过期)。你需要去 CDN 控制台使用 “刷新预热” 功能,强制清除缓存。