本文介绍如何将存储在火山引擎对象存储(TOS)中的静态资源,通过火山引擎内容分发网络(CDN)进行加速分发。
场景描述
如果您的业务需要分发大量的静态文件(例如图片、视频、安装包等),您可以使用 TOS 作为存储源,并配合 CDN 来提升用户的访问体验。
- TOS:提供海量、可靠、低成本的云存储服务,适合存放各类静态资源。
- CDN:在全球范围内部署了大量边缘节点。CDN 可以将源站内容缓存到靠近用户的节点上,让用户可以就近获取所需内容,从而避免网络拥堵,提升访问速度。
- 方案优势:
- 提升速度:解决公网拥塞和延迟,优化用户访问体验。
- 节省成本:CDN 回源到 TOS 的流量在 TOS 侧以 “CDN 回源流量” 计费,相比 TOS 直接流出的公网流量单价更低。
- 灵活控制:CDN 支持回源鉴权、防盗链、IP 黑白名单等高级安全功能。
本文将引导您完成以下操作:
- 准备 TOS 存储桶。
- 根据您的 TOS 存储桶所属账号(同账号或跨账号),配置 CDN 加速域名与源站。
- 配置 CNAME,将用户的访问请求导向 CDN。
- 验证结果。
准备工作
在开始之前,请确保您已完成以下准备:
- 已开通火山引擎 内容分发网络服务。
- 准备 TOS 存储桶,请根据您的账号情况确认:
- 拥有一个已备案的域名。
场景一:加速同账号下的 TOS 资源
如果您的 CDN 服务和即将创建的 TOS 存储桶位于同一个火山引擎账号下,请按照以下步骤操作。
步骤一:创建 TOS 私有桶并上传文件
出于安全考虑,建议您创建私有桶来存储您的静态资源。
- 登录 对象存储控制台。
- 在左侧导航栏,点击 桶列表。
- 在 桶列表 页面,点击 创建桶。
- 在 创建存储桶 页面,完成以下配置,然后点击 确定。
- 名称:输入一个唯一的名称。
- 区域:选择一个靠近您用户或业务的地域。
- 桶策略:选择 私有。
- 存储桶创建后,进入该存储桶,点击 上传文件,上传用于测试的静态文件。

步骤二:添加 CDN 加速域名并配置源站
- 登录 内容分发网络控制台。
- 在左侧导航栏,点击 域名管理。
- 在 域名管理 页面,点击 新增。
- 在 新增域名 页面,输入您准备用于加速 TOS 资源分发的域名。
- 点击 新增源站,并进行如下配置:
- 源站类型:选择 对象存储源站。
- 对象存储来源:选择 火山引擎。
- 服务授权:首次配置需点击 前往授权,以授权 CDN 对 TOS 的访问。如果您之前已经完成授权,页面会显示 已授权。
- 存储桶:在存储桶列表中选择您在步骤一中创建的 TOS 存储桶。
- 私有桶访问:开启该开关。
- 配置完成后,点击 提交。

步骤三:配置 CNAME 解析
域名添加后,CDN 会为该域名分配一个 CNAME 地址。您需要将加速域名指向此 CNAME 地址,这样访问该域名的请求才能引导至 CDN 节点。
- 返回 域名管理 页面,找到刚刚添加的域名。
- 在 CNAME 列,复制该域名的 CNAME 地址。
- 前往您的域名解析服务商处,为加速域名添加一条 CNAME 记录。以下配置以 火山引擎云解析 DNS 为例。
- 域名:填写加速域名的前缀。例如,如果您的加速域名是
cdn.example.com,则填写 cdn。 - 记录类型:选择
CNAME。 - 记录值:点击 添加记录值,然后粘贴您复制的 CNAME 地址。
- 点击 提交。
CNAME 记录生效通常需要几分钟到几十分钟不等。

步骤四:结果验证
等待 CNAME 记录生效后,您可以通过以下方式验证加速效果:
- 在浏览器中,访问您上传到 TOS 的文件。URL 格式为
http://<您的加速域名>/<文件名>。
例如,如果您上传的文件是 image.jpg,加速域名是 cdn.example.com,则访问 http://cdn.example.com/image.jpg。 - 如果能够正常访问到文件,表示配置已成功。
您还可以使用 ping 或 dig 命令来检查域名的 CNAME 解析是否已生效。如果解析指向了以 .volces.com 结尾的域名,则表示 CNAME 已配置成功。
场景二:加速跨账号的 TOS 资源
如果您的 CDN 服务和 TOS 存储桶分属不同的火山引擎账号,您需要将 TOS 存储桶视为 “S3 兼容的第三方源站” 进行配置。
说明
在此场景的源站配置中,CDN 回源到 TOS 的流量在 TOS 侧依然以 “CDN 回源流量” 计费,享受价格优惠。
步骤一:获取 TOS 存储桶信息(在目标账号获取)
在配置 CDN 之前,请在 TOS 存储桶所属的账号中获取以下信息:
- S3 访问点域名:进入 TOS 控制台,在存储桶 概览 页面查看。S3 访问点域名示例:
mybucket.tos-s3-ap-southeast-1.volces.com。 - 访问密钥(AK/SK):如果存储桶是私有的,需要获取账号的 AccessKey ID 和 AccessKey Secret。
步骤二:添加 CDN 加速域名并配置源站
- 登录 内容分发网络控制台。
- 在左侧导航栏,点击 域名管理。
- 在 域名管理 页面,点击 新增。
- 在 新增域名 页面,输入您准备用于加速 TOS 资源分发的域名。
- 点击 新增源站,并进行如下配置:
- 源站类型:选择 对象存储源站。
- 对象存储来源:选择 第三方对象存储。
- 回源鉴权方式:选择 Amazon S3。
- 存储桶地址:选择 自定义域名,然后输入以 S3 访问点域名结尾的存储桶域名。例如
mybucket.tos-s3-ap-southeast-1.volces.com。 - 回源 Host:如果您为存储桶配置了自定义域名,请在此输入自定义域名。否则,请 留空,CDN 将默认使用存储桶地址作为 Host。
- 私有桶访问:如果存储桶是私有的,开启该开关,然后输入账号的 AccessKey ID 和 AccessKey Secret。
- 配置完成后,点击 提交。

步骤三:配置 CNAME 解析
与场景一中的步骤相同。
步骤四:结果验证
与场景一中的步骤相同。
常见配置与问题
1. 数据处理(x-tos-process)缓存配置
TOS 支持通过 URL 参数(如 x-tos-process=image/resize,w_300)进行图片处理。同时,CDN 在缓存图片时默认不在缓存 Key 中包含查询参数。这会导致图片被错误缓存。建议您在 CDN 缓存配置 中开启 缓存键值(Cache Key) 设置,并配置保留 x-tos-process 参数。
