OSS 回源功能

本文涉及的产品
对象存储 OSS,OSS 加速器 50 GB 1个月
简介: 浅谈 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。

配置功能

2

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

  • 文件前缀:如果勾选了文件前缀,择访问出现 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

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

相关实践学习
对象存储OSS快速上手——如何使用ossbrowser
本实验是对象存储OSS入门级实验。通过本实验,用户可学会如何用对象OSS的插件,进行简单的数据存、查、删等操作。
目录
相关文章
|
NoSQL Java Redis
springboot 实现接口幂等
幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。 接口就是用户对同一操作发起了一次或多次请求的对数据的影响是一致不变的。 简单理解:就是针对一个操作,不管做多少次,产生的效果都是一样的,常见于表单的重复提交
353 2
|
存储 JavaScript 前端开发
oss使用SDK上传文件
oss使用SDK上传文件
3550 2
|
数据处理 分布式数据库 Apache
一文聊透Apache Hudi的索引设计与应用
一文聊透Apache Hudi的索引设计与应用
718 3
|
安全 Linux 网络安全
组网神器WireGuard安装与配置教程(超详细)
组网神器WireGuard安装与配置教程(超详细)
54010 2
|
Web App开发 缓存 JavaScript
手把手教你 WordPress 使用阿里云 CDN 教程,让你的网站飞起来
优化 WordPress 访问速度详细攻略,手把手教你优化过程
10528 0
手把手教你 WordPress 使用阿里云 CDN 教程,让你的网站飞起来
|
5月前
|
网络协议 API 定位技术
全球IP归属地查询免费API详细指南
接口盒子提供免费全球IP归属地查询API,支持IPv4/IPv6,返回国家、省、市、运营商及经纬度等详细信息。多通道查询保障准确性,无每日调用上限,适用于网站分析、安全防护、内容本地化等场景。
1370 0
|
机器学习/深度学习 自然语言处理 数据可视化
MOIRAI-MOE: 基于混合专家系统的大规模时间序列预测模型
MOIRAI 是 Salesforce 开发的早期时间序列基础模型,凭借出色的基准测试性能和开源的大规模预训练数据集 LOTSA 获得广泛关注。最新升级版本 MOIRAI-MOE 引入混合专家模型(Mixture of Experts, MOE),在模型性能上实现显著提升。本文深入分析 MOIRAI-MOE 的技术架构与实现机制,对比其与原版 MOIRAI 的差异,探讨 MOE 在提升预测准确率和处理频率变化问题上的作用,并展示其在分布内和零样本预测中的优异表现。实验结果显示,MOIRAI-MOE 以更少的激活参数量实现了更高的性能提升,成为时间序列预测领域的重要里程碑。
937 12
MOIRAI-MOE: 基于混合专家系统的大规模时间序列预测模型
|
缓存 负载均衡 网络协议
|
小程序 前端开发 JavaScript
微信小程序图表制作利器:ECharts组件的使用与技巧
微信小程序图表制作利器:ECharts组件的使用与技巧
1729 1
|
人工智能 开发者
黑神话:悟空中的AI行为树设计
【8月更文第26天】在《黑神话:悟空》这款游戏中,NPC(非玩家角色)的智能行为对于创造一个富有沉浸感的游戏世界至关重要。为了实现复杂的敌人行为模式,游戏开发团队采用了行为树作为NPC决策的核心架构。本文将详细介绍《黑神话:悟空》中NPC AI的设计原理,特别关注行为树的设计与实现。
1327 0