前言
阿里云 OSS 对象存储便宜但流量费贵,CloudFlare 带宽联盟可以免除流量费用。本文介绍如何配置实现免费流量。
一、费用分析
阿里云 OSS 费用
- 存储费:0.12 元/GB/月(标准型)
- 请求费:0.01 元/万次
- 流量费:0.5 元/GB(公网下行)
问题所在
- 存储和请求费用很低
- 流量费是主要成本
- 大文件分发成本高昂
二、CloudFlare 带宽联盟
什么是带宽联盟
- CloudFlare 与云厂商的合作计划
- 通过 CF CDN 访问云存储免流量费
- 阿里云、AWS S3、Google Cloud 都支持
加入条件
- CloudFlare 任意套餐(包括免费)
- 阿里云账号
- 域名在 CloudFlare 管理
三、阿里云 OSS 配置
1. 创建 Bucket
- 登录 OSS 控制台
- 创建 Bucket,选择就近地域
- 权限设置为私有(推荐)
2. 配置 CORS
- Bucket → 数据安全 → CORS
- 允许来源:*
- 允许方法:GET, HEAD
3. 创建 RAM 用户
- RAM 控制台 → 创建用户
- 权限:AliyunOSSReadOnlyAccess
- 记录 AccessKey 和 Secret
四、CloudFlare 配置
1. 加入带宽联盟
- CloudFlare Dashboard → Bandwidth Alliance
- 点击 Join Now
- 选择 Alibaba Cloud
2. 添加 DNS 记录
- Type: CNAME
- Name: oss (或 cdn)
- Target: your-bucket.oss-cn-hangzhou.aliyuncs.com
- Proxy: Enabled (橙色云)
3. 配置 Page Rules
- URL: oss.yourdomain.com/*
- Cache Level: Cache Everything
- Edge Cache TTL: 7 days
五、OSS 访问控制
方案 1:Referer 防盗链
- OSS 控制台 → 数据安全 → Referer
- 允许空 Referer: 否
- 白名单:*.yourdomain.com
方案 2:签名 URL
- 使用 SDK 生成临时访问 URL
- 设置过期时间
六、上传文件
使用 ossutil 命令行
wget http://gosspublic.alicdn.com/ossutil/ossutil64chmod +x ossutil64./ossutil64 config./ossutil64 cp -r ./files oss://your-bucket/
七、测试验证
curl -I https://oss.yourdomain.com/file.jpg# 查看 CF-Cache-Status: HIT
八、费用对比
| 项目 | 直连 OSS | OSS+CF |
|---|---|---|
| 100GB 存储 | 12 元 | 12 元 |
| 500GB 流量 | 250 元 | 0 元 |
| 合计 | 262 元 | 12 元 |
总结
阿里云 OSS + CloudFlare 带宽联盟可以节省 95% 以上的流量费用,强烈推荐配置。