将静态资源上传至火山引擎tos实现动静分离:创建标准存储bucket并设私有权限;通过控制台拖拽或tos cli(加--acl public-read)上传文件;绑定自定义域名static.example.com并配置https;启用镜像回源使旧路径无缝迁移;最后更新网站引用为新cdn地址。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

将网站静态资源(如图片、CSS、JS文件)上传到火山引擎对象存储(TOS),是实现动静分离、提升访问速度和降低源站压力的关键一步。你不需要自己维护服务器,也不用担心带宽突发,只要把文件丢进TOS桶里,再配好CDN和回源,用户就能从最近的边缘节点高速加载。
创建TOS存储空间(Bucket)
登录火山引擎控制台 → 进入「对象存储 TOS」服务 → 点击「创建 Bucket」。
填写 Bucket 名称(全局唯一,建议用小写字母+数字+短横线,如my-static-2026)、选择地域(优先选靠近你主要用户的区域,比如华东1对应上海,华北2对应北京)→ 服务类型选「标准存储」→ 权限设置选「私有读写」(后续通过CDN或预签名URL对外提供访问,更安全)→ 点击确认创建。
【Bucket名称一旦创建无法修改,且不可删除后重名,务必一次性定稿】
上传静态资源文件
方法一:控制台拖拽上传(适合少量文件、临时调试)
进入刚创建的 Bucket → 点击「上传文件」→ 直接将本地图片、CSS、JS等文件拖入上传区域 → 上传完成后,文件列表中会显示 Object 名称(即路径)和访问链接(HTTP协议,暂未启用HTTPS)。
方法二:使用 TOS CLI 批量上传(推荐用于生产环境)
先安装 TOS CLI 工具,配置 AK/SK(在「访问密钥」页面获取);然后执行:tos-cli cp ./dist/ oss://my-static-2026/ --recursive。这会把本地 dist 目录下所有文件递归上传,并保持原有目录结构。
注意:CLI 默认上传为私有权限,若需直接通过 CDN 域名访问,必须在上传时加 --acl public-read 参数,否则文件无法被外部读取。
绑定自定义域名并开启 HTTPS
第一步:在 TOS Bucket 的「基础配置」页 → 找到「自定义域名」→ 点击「添加域名」→ 输入你的 CDN 子域名(如 static.example.com)→ 提交审核。
第二步:审核通过后,火山引擎会提供一个 CNAME 记录值(形如 my-static-2026.tos-cn-beijing.volces.com)→ 登录你的 DNS 服务商(如阿里云DNS、腾讯云DNSPod)→ 在域名解析中新增一条 CNAME 记录,主机名填 static,记录值填上一步拿到的 CNAME 值。
第三步:回到 TOS 控制台 → 进入该 Bucket → 「证书管理」→ 上传或申请免费 SSL 证书 → 绑定到刚添加的自定义域名。证书生效后,https://static.example.com/logo.png 就能直接访问了。
配置镜像回源(让旧链接继续可用)
如果你的网站原来用的是 https://example.com/assets/ 这类路径,现在想无缝迁移到 TOS,就靠镜像回源:
进入 Bucket → 「基础配置」→ 「镜像回源」→ 开启开关 → 主回源地址填 https://example.com → 回源路径前缀填 /assets/ → 保存。
这样当用户请求 https://static.example.com/assets/logo.png 时,TOS 发现没这个文件,就会自动去 https://example.com/assets/logo.png 拉取并缓存,下次请求直接返回,无需改代码。
这一步必须确保源站域名已备案且可公开访问,否则回源失败会导致 404。
更新网站资源引用路径
① 打开网站源码(如 WordPress 主题、Vue 项目 public 目录、HTML 模板)
② 将所有 src="/assets/、href="/css/、background-image:url(/images/ 等相对路径,统一替换为 https://static.example.com/ 开头的绝对路径
③ 部署新版本代码 → 清除浏览器缓存和 CDN 缓存 → 访问页面检查 Network 面板,确认所有静态资源状态码为 200 且发起域名是 static.example.com。











