OSS 回源功能

简介: 浅谈 OSS 回源功能,也称镜像回源,可以类比 Nginx 的 PCRE 满足一定条件下触发的 rewrite 功能,但是 OSS 的功能更加丰富。大致分为了两种主要功能,一种是 404 回源,另外是重定向回源。

作者:张医博

浅谈

OSS 回源功能,也称镜像回源,可以类比 Nginx 的 PCRE 满足一定条件下触发的 rewrite 功能,但是 OSS 的功能更加丰富。大致分为了两种主要功能,一种是 404 回源,另外是重定向回源。

使用的场景,一般是数据迁移、主备 OSS、CDN 结合 OSS、等多个场景。

功能说明

404

当客户请求到 OSS 获取资源时,如果 OSS 咨询不存在,那么会根据客户配置的镜像回源地址去拉去对应的资源,如果真正的源站有数据就会响应 OSS 200 ,OSS 会将文件一同存储到本地,并且透传给客户端 200 的状态码。

在这个过程中,如果 OSS 回源没有回去到资源,源站响应了 404 ,那么 OSS 也直接将 404 透传给用户。

如果 OSS 回源获取资源失败,源站返回了一个非 200 404 的状态码,比如 502,那 OSS 会记录 424 ,然后透传给源站的状态码 502 给客户端。

重定向

回源另外一个功能就是重定向,重定向,分为 301 、302、307。常用的就是 302 301,配置重定向功能后,客户端请求到 bucket A 后,会直接 302 301 到用户配置的 bucket B,客户端直接根据 301 302 follow 到目的 bucket B。

配置功能

image.png

这里不会给大家说全部的功能,因为详细使用官网有,我们着重说下标红的位置。

  • 文件前缀:如果勾选了文件前缀,择访问出现 404 后,只会针对匹配到的 OSS 前缀触发镜像回源,否则不会触发。
  • 回源参数:如果是 CDN 回源时会携带很多参数,想要保留这些参数透传到源站,可以开启此参数。
  • 允许 header:如果配置了允许 所有header ,默认将客户端请求过来的 header 全部透传给源站。
  • 精致 header :可以自定义哪些 header 是不透传回源的。
  • 设置:触发回源后,可以自定义一些请求头透传给源站。

案例介绍

一、配置了镜像回源但是响应 404

  • 首先固定真正的源站访问同样的 URL 测试是否 200 ,只有源站响应了 200 的情况 OSS 回原才能获取到资源。
  • 看是否配置了透传所有 header 头选项,如果配置了该选项需要同时配置禁止 host 头透传回去,否则会出现回源时 404 的问题。因为镜像回源时会携带当前 bucket host 回源,所以目标源站肯定也响应 404 。

二、配置了镜像回源但是响应 502

  • 出现这种问题,都是客户源站响应超时导致,可以先固定源站的 URL 测试一下。
  • 分析对应时间点源站 error log 或者 access log 是否有 502 的情况,看下源站的网络链路负载等。

三、镜像回源的源站和访问的域名一致

  • 访问 www.a.com 资源 404 回源到 B.oss-cn-beijing.aliyuncs.com ,B bucket 上设置回源到 www.a.com ,这种情况是不可以的,会造成死循环的问题。
  • 访问 A.oss-cn-beijing.aliyuncs.com 资源 404 回源到 B.oss-cn-beijing.aliyuncs.com ,B bucket 设置的源站是 A bucket 也不行。

四、镜像回源报错 "Error status: 0 from mirror host ,should return 200 ok"

image.png

出现类似报错就是 OSS 在触发镜像回用户原站拉资源时,源站没有返回 200 的内容,而是返回了其他非 200 的状态码,导致拉取资源失败。
这种场景,用户端只要固定源站测试以下就可以知道问题。

相关实践学习
对象存储OSS快速上手——如何使用ossbrowser
本实验是对象存储OSS入门级实验。通过本实验,用户可学会如何用对象OSS的插件,进行简单的数据存、查、删等操作。
相关文章
|
3月前
|
人工智能 弹性计算 Linux
阿里云轻量应用服务器抢购价38元1年、9.9元1个月、199元1年:抢购时间、配置与适用场景解析
2026年阿里云轻量应用服务器抢购活动新增2核4G配置,月付9.9元或年付199元,且预装“OpenClaw”应用镜像,助力用户快速搭建AI助理。活动每天10点和15点开抢,限新用户且每个用户仅享一次。适合个人开发者、学生及小微企业,可用于中小型动态网站、数据库服务器、微服务与容器化应用等。此外,阿里云还提供99元/年经济型e实例和199元/年通用算力型u1实例等备选方案。
|
4月前
|
人工智能 文字识别 内存技术
阿里云Tokens如何收费?Tokens价格、免费Tokens领取及万亿Tokens扶持优惠活动全解析
阿里云Tokens按输入/输出分别计费,价格因模型而异(如Qwen-Max:输入2.4元/百万、输出9.6元/百万)。新用户开通百炼可领7000万免费Tokens:https://t.aliyun.com/U/fPVHqY 企业用户还可享万亿Tokens扶持及多重优惠。
1627 2
|
人工智能 自然语言处理 运维
阿里云多模态数据信息提取技术解决方案评测
阿里云多模态数据信息提取技术解决方案,利用先进AI技术处理文本、图像、音频和视频,帮助企业从海量数据中高效提取有价值信息。方案涵盖文本、图片、视频信息提取,适用于电商平台、安防等领域。通过大模型支持自动扩展与持续训练,提供简单部署及免费试用,评测显示其在识别准确性和易用性方面表现出色,但仍需优化高级设置提示和加载速度。
|
IDE 测试技术 开发工具
Xcode 16.4 (16F6) 发布 - Apple 平台 IDE
Xcode 16.4 (16F6) 发布 - Apple 平台 IDE
2097 1
Xcode 16.4 (16F6) 发布 - Apple 平台 IDE
|
人工智能 运维 机器人
《深度剖析:人工智能与人类协作模式的未来演变》
人工智能与人类的协作正经历从辅助工具到平等伙伴、特定领域到多领域融合、静态协作到动态自适应、工作场景到全场景渗透的演变。初期,AI作为高效助手处理重复任务;中期成为得力伙伴,参与医疗、科研等领域的深度协作;未来将作为平等团队成员,在智慧城市、智能家居等多领域实现跨模态协作,动态调整任务分配,全面融入生活和工作,创造更多可能性。
1210 15
|
存储 算法 Java
java制作海报六:Graphics2D的RenderingHints方法参数详解,包括解决文字不清晰,抗锯齿问题
这篇文章是关于如何在Java中使用Graphics2D的RenderingHints方法来提高海报制作的图像质量和文字清晰度,包括抗锯齿和解决文字不清晰问题的技术详解。
824 0
java制作海报六:Graphics2D的RenderingHints方法参数详解,包括解决文字不清晰,抗锯齿问题
|
关系型数据库 数据挖掘 数据库
在 PostgreSQL 中使用 IN
【8月更文挑战第12天】
1373 0
在 PostgreSQL 中使用 IN
|
存储 人工智能 大数据
阿里云对象存储OSS标准存储、低频访问、归档和冷归档区别对比
阿里云对象存储OSS的Bucket存储类型标准存储、低频访问存储、归档存储和冷归档存储有什么区别?如何选择?
6004 1
阿里云对象存储OSS标准存储、低频访问、归档和冷归档区别对比