OSS callback功能常见问题分析

callback是OSS的一个重要功能,可以应用在数据同步等多个场景中,在使用过程中难免会遇到一些问题,有些问题通过错误提示比较难以排查。本文针对常见的一些问题详述原因及排查方法。

1、返回的body非json格式

1) 现象

  返回以下错误:

 

2) 原因:

  原因可能有两种,如下

A、应用服务器返回给OSS的body的确不是json格式。比如

Resp_body就不是合法的json格式,OSS就会报上述错误。这种一般比较明显,还有比较隐蔽的,比如应用服务器处理过程中抛了异常,导致没有按照预期返回给OSS,而是返回了一些栈信息等,也会导致OSS报上述错误。

B、应用服务器返回给OSS的body中带有bom头。这类错误常见于用php编写的应用服务器中,由于php返回了bom头,导致OSS收到的body中多了三个字节,不符合json格式,因此报上述错误。如果在应用服务器端抓包,可以看到以下信息。

其中ef bb bf这三个字节就是bom头。关于bom头的产生原因以及如何去除bom头的方法,网上有非常多的解释,google即可。

 

2、错误的status

1) 现象

  这是一类错误,有可能是502,或者400等,如下

         

 

2) 原因

  400或者其他的status比如404/403等是指应用服务器返回给oss的http是400或者404/403等,正常情况下应用服务器必须返回200给OSS。502是由于应用服务器根本就没有起web服务,没有监听OSS发过来的回调请求。

 

3、超时

1) 现象

 

2) 原因

出于安全原因,OSS的回调请求只会等待5s钟,如果5s后还是没有返回,那么OSS就会主动断开与应用服务器的连接,并返回客户端这个错误,错误信息中的IP可以忽略。

 

比较常见的就是上述三种错误,尤以第一种错误的B情况最为隐蔽,如果想定位的话,最直接的方法就是在自己的应用服务器上抓包

时间: 2024-08-28 14:30:36

OSS callback功能常见问题分析的相关文章

xp系统下电脑硬件中的常见问题分析

  xp系统电脑硬件常见问题分析如下: 1:电脑的主板电容损坏我们的显卡就出现错误不能正常使用,解决方法就是我们直接使用主板上的电容的标称值进行更换就可以解决故障. 2:电脑电源开关不能正常使用,启动键按了以后没有开启电脑,解决方法我们首选对电脑进行测试,使用万用表就可以连接电源启动就可以看看是否线已经断了,断掉就需要更换即可. 3:电脑出现了错误跳线电脑就无法启动,无法开机,解决方法就是我们需要根据安装说明书进行重新对接,需要把正确的接口接上电源,然后在开机即可. 4:电脑无法开机的还有一种可

JAVA学习(六):JAVA中的继承及其常见问题分析

JAVA中的继承及其常见问题分析 1.JAVA中继承的定义 JAVA中,类的继承是通过扩展其他类而形成新类来实现的,原来的类称为父类(Super Class)或基类,新的类称为原来类的子类或派生类.在子类中,不仅包含了父类的属性和方法,还可以增加新的属性和方法,从而使得父类的基本特征可被所有子类对象共享. 注:类的继承并不改变类成员的访问权限,也就是说,如果父类的成员是公有的.被保护的或默认的,它的子类仍具有相应的这些特性. /**********************************

jquery mobile开发常见问题分析_jquery

本文实例分析了jquery mobile开发常见问题.分享给大家供大家参考,具体如下: jquery mobile功能很强大,有了它,不用在程序中,写方法去判断,是什么手机了,完全可以用js来实现各种智能手机的的兼容性.也是因为功能强大,jquery mobile插件,200多K,min也有140多K. 1.jquery mobile是通过ajax来进行页面请求,ajax大家都知道,是不涮新页面的.也就是说地址栏的变动也不是真实的涮新.这样就有问题了,js只有刷新页面的时候才会执行,起作用,页面

阿里云存储服务OSS基本功能

  基本功能 OSS主要为用户提供数据存储服务,用户可以通过以下操作来处理OSS上的数据: 1. 创建.查看.罗列.删除 Bucket 2. 修改.获取Bucket的访问权限 3. 上传.查看.罗列.删除Object/Object Group 4. 访问时支持If-Modified-Since和If-Match等HTTP参数

Jedis介绍及常见问题分析

Jedis介绍 Jedis是一个开源的Redis数据库客户端,兼容Redis 2.8.x和3.xx,Jedis提供了以下特性: 排序 链接管理 不同类型的value的命令处理 String类型的命令处理 Hashes类型的命令处理 Lists类型的命令处理 Sets类型的命令处理 Sorted Sets类型的命令处理 事务 批量命令处理 订阅/发布 持久化的控制命令 远程控制命令 分片(MD5,MurmurHash) 集群的Key-tags功能 集群的批量命令处理 脚本的批量命令处理 Redis

如何使用OSS RTMP功能直播/鉴黄?

概述 音视频直播平台如何实现数据存储?视频监管及风控需求如何满足?直播视频/图片内容如何自动审核?视频监控行业如何降低视频数据存储成本?为了方便直播/监控用户使用OSS来存储音视频数据,OSS近期推出了RTMP收流功能.用户可以直接用RTMP协议将音视频数据上传到OSS. OSS LiveChannel介绍 LiveChannel是OSS为了管理RTMP推流新增的概念:LiveChannel即直播频道,用来保存推流配置,获取推流状态等:直播频道从属于bucket,一个用户可以在bucket中创建

Android指纹识别功能深入浅出分析到实战(6.0以下系统解决方案)_Android

指纹识别这个名词听起来并不陌生,但是实际开发过程中用得并不多.Google从Android6.0(api23)开始才提供标准指纹识别支持,并对外提供指纹识别相关的接口.本文除了能适配6.0及以上系统,主要还提供6.0以下设备适配解决方案. 指纹识别用途 大概列举几个指纹识别的用途 系统解锁 应用锁 支付认证 普通的登录认证 指纹识别Google官方文档 官方标准库 Google提供的与指纹识别相关的核心类不多,主类是FingerprintManager,主类依赖三个内部类,如下图所示:  Fin

java实现屏幕共享功能实例分析_java

本文实例讲述了java实现屏幕共享功能的方法.分享给大家供大家参考.具体分析如下: 最近在做软件软件工程的课程设计,做一个用于实验室的屏幕监控系统,参考各种前人代码,最后领悟之后要转换自己的代码,初学者都是这样模仿过来的. 说到屏幕监控系统,有教师端和学生端,教师端就是Server端,学生端就做Client端.系统里比较有趣的一个地方应该算是屏幕广播与屏幕监控吧,其余什么点名签到,锁屏,定时关机的,就相对来说简单点. 屏幕广播,在功能实现上面,说白了,就是教师端的机器不断截取屏幕信息,以图片的形

SEO中关键词密度常见问题分析

SEO是什么?习惯利用搜索引擎的朋友就会自然地在百度(Baidu.com).谷歌(Google.cn).雅虎(Yahoo.com)上输入关键字"SEO",习惯使用英文搜索的朋友则会在相关的英文搜索引擎上进行搜索,通过利用这些搜索引擎,就会得到与SEO这个关键字相关的网页结果,通过查看这些网页,通常就会了解到SEO是什么意思?就会对SEO有一个大概的了解. SEO是Search Engine Optimization的缩写,用英文描述是to use some technics to ma