You need to enable JavaScript to run this app.
内容分发网络

内容分发网络

复制全文
使用 CDN 加速 TOS 资源分发
使用内容分发网络(CDN)加速对象存储(TOS)资源的分发
复制全文
使用内容分发网络(CDN)加速对象存储(TOS)资源的分发

本文介绍如何将存储在火山引擎对象存储(TOS)中的静态资源,通过火山引擎内容分发网络(CDN)进行加速分发。

场景描述

如果您的业务需要分发大量的静态文件(例如图片、视频、安装包等),您可以使用 TOS 作为存储源,并配合 CDN 来提升用户的访问体验。

  • TOS:提供海量、可靠、低成本的云存储服务,适合存放各类静态资源。
  • CDN:在全球范围内部署了大量边缘节点。CDN 可以将源站内容缓存到靠近用户的节点上,让用户可以就近获取所需内容,从而避免网络拥堵,提升访问速度。
  • 方案优势
    • 提升速度:解决公网拥塞和延迟,优化用户访问体验。
    • 节省成本:CDN 回源到 TOS 的流量在 TOS 侧以 “CDN 回源流量” 计费,相比 TOS 直接流出的公网流量单价更低。
    • 灵活控制:CDN 支持回源鉴权、防盗链、IP 黑白名单等高级安全功能。

本文将引导您完成以下操作:

  1. 准备 TOS 存储桶。
  2. 根据您的 TOS 存储桶所属账号(同账号或跨账号),配置 CDN 加速域名与源站。
  3. 配置 CNAME,将用户的访问请求导向 CDN。
  4. 验证结果。

准备工作

在开始之前,请确保您已完成以下准备:

场景一:加速同账号下的 TOS 资源

如果您的 CDN 服务和即将创建的 TOS 存储桶位于同一个火山引擎账号下,请按照以下步骤操作。

步骤一:创建 TOS 私有桶并上传文件

出于安全考虑,建议您创建私有桶来存储您的静态资源。

  1. 登录 对象存储控制台
  2. 在左侧导航栏,点击 桶列表
  3. 桶列表 页面,点击 创建桶
  4. 创建存储桶 页面,完成以下配置,然后点击 确定
    • 名称:输入一个唯一的名称。
    • 区域:选择一个靠近您用户或业务的地域。
    • 桶策略:选择 私有
  5. 存储桶创建后,进入该存储桶,点击 上传文件,上传用于测试的静态文件。

Image

步骤二:添加 CDN 加速域名并配置源站

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

Image

步骤三:配置 CNAME 解析

域名添加后,CDN 会为该域名分配一个 CNAME 地址。您需要将加速域名指向此 CNAME 地址,这样访问该域名的请求才能引导至 CDN 节点。

  1. 返回 域名管理 页面,找到刚刚添加的域名。
  2. CNAME 列,复制该域名的 CNAME 地址。
  3. 前往您的域名解析服务商处,为加速域名添加一条 CNAME 记录。以下配置以 火山引擎云解析 DNS 为例。
    • 域名:填写加速域名的前缀。例如,如果您的加速域名是 cdn.example.com,则填写 cdn
    • 记录类型:选择 CNAME
    • 记录值:点击 添加记录值,然后粘贴您复制的 CNAME 地址。
  4. 点击 提交

CNAME 记录生效通常需要几分钟到几十分钟不等。
Image

步骤四:结果验证

等待 CNAME 记录生效后,您可以通过以下方式验证加速效果:

  1. 在浏览器中,访问您上传到 TOS 的文件。URL 格式为 http://<您的加速域名>/<文件名>
    例如,如果您上传的文件是 image.jpg,加速域名是 cdn.example.com,则访问 http://cdn.example.com/image.jpg
  2. 如果能够正常访问到文件,表示配置已成功。

您还可以使用 pingdig 命令来检查域名的 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 加速域名并配置源站

  1. 登录 内容分发网络控制台
  2. 在左侧导航栏,点击 域名管理
  3. 域名管理 页面,点击 新增
  4. 新增域名 页面,输入您准备用于加速 TOS 资源分发的域名。
  5. 点击 新增源站,并进行如下配置:
    • 源站类型:选择 对象存储源站
    • 对象存储来源:选择 第三方对象存储
    • 回源鉴权方式:选择 Amazon S3
    • 存储桶地址:选择 自定义域名,然后输入以 S3 访问点域名结尾的存储桶域名。例如 mybucket.tos-s3-ap-southeast-1.volces.com
    • 回源 Host:如果您为存储桶配置了自定义域名,请在此输入自定义域名。否则,请 留空,CDN 将默认使用存储桶地址作为 Host。
    • 私有桶访问:如果存储桶是私有的,开启该开关,然后输入账号的 AccessKey ID 和 AccessKey Secret。
  6. 配置完成后,点击 提交

Image

步骤三:配置 CNAME 解析

与场景一中的步骤相同。

步骤四:结果验证

与场景一中的步骤相同。

常见配置与问题

1. 数据处理(x-tos-process)缓存配置

TOS 支持通过 URL 参数(如 x-tos-process=image/resize,w_300)进行图片处理。同时,CDN 在缓存图片时默认不在缓存 Key 中包含查询参数。这会导致图片被错误缓存。建议您在 CDN 缓存配置 中开启 缓存键值(Cache Key) 设置,并配置保留 x-tos-process 参数。
Image

最近更新时间:2025.12.17 18:00:05
这个页面对您有帮助吗?
有用
有用
无用
无用