火山引擎tos配置跨域访问是为了让前端web应用通过xmlhttprequest或fetch直接读取资源,避免cors错误;需在控制台bucket权限管理中设置cors规则,包括允许来源、方法、headers等,并验证响应头access-control-allow-origin是否匹配。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

火山引擎对象存储(TOS)配置跨域访问,是为了让前端 Web 应用(如 Vue/React 页面、小程序、H5)能通过 XMLHttpRequest 或 Fetch 直接读取 TOS 中的资源(如图片、JSON、字体文件),避免浏览器报 CORS 错误而加载失败。
登录 TOS 控制台并进入目标 Bucket 设置页
打开火山引擎控制台 → 选择「对象存储 TOS」服务 → 在左侧导航栏点击「Bucket 列表」→ 找到你要配置的 Bucket,点击其名称进入详情页 → 左侧菜单选择「权限管理」→ 点击「跨域设置(CORS)」。
添加跨域规则
点击「添加规则」按钮,填写以下必填项:
① 【允许的来源(AllowedOrigin)】:必须精确填写前端域名,支持通配符 *,但若同时设置了「允许携带凭证(AllowCredentials)为 true」,则 不允许使用 *,必须写具体域名(如 https://example.com 或 https://app.company.internal)。
② 允许的 HTTP 方法(AllowedMethod):勾选实际需要的请求类型,常见为 GET、HEAD、PUT、POST、DELETE;若仅用于读取资源,只勾选 GET 和 HEAD 即可。
③ 允许的 Headers(AllowedHeader):填写前端请求中可能携带的自定义 Header,例如 *(通配符,表示允许所有 Header),或明确列出如 Authorization、x-tos-meta-*;若前端未带特殊 Header,此项可留空或填 *。
④ 暴露的 Headers(ExposeHeader):仅当前端 JS 需要读取响应中的特定 Header(如 x-tos-request-id、Content-MD5)时才填写,否则留空。
⑤ 缓存时间(MaxAgeSeconds):单位为秒,建议填 3600(1 小时),避免浏览器频繁预检(Preflight)请求。
保存并验证配置是否生效
点击「确定」保存规则后,TOS 会立即生效,无需重启或等待同步。打开浏览器开发者工具 → Network 标签页 → 触发一次对 TOS 资源的请求(如 fetch('https://bucket-name.tos-cn-beijing.volces.com/image.png'))→ 查看响应头中是否包含 Access-Control-Allow-Origin 字段,且值与你配置的 AllowedOrigin 一致。
注意:若请求仍被拦截,请检查是否因「AllowCredentials = true」却用了 * 导致规则被忽略——此时需删除该规则并重建,使用具体域名。











