天天看点

【OSS 排查方案-13 postobject】

作者:张医博

EntityTooLarge

【OSS 排查方案-13 postobject】

出现这种问题基本是客户端的 post 代码中限制的请求的 body 大小,排查这种问题最好是通过抓包,或者构造 post 源码上看下。

当你的 bucket 不是 public-read-write 时,需要客户端的 post 代码中提供 post policy ,这这属性中,有关于 content-length-range 的设置,不注意的话这个地方基础设置都是 10M,建议检查下这个地方。

【OSS 排查方案-13 postobject】

PostObject 没有发生回调

使用OSS PostObject的callback没有发生回调。但是通过 putobject 用同样的 callback 是有回调发生的,怀疑 PostObject 有问题?

【OSS 排查方案-13 postobject】

分别测试 PUT 和 POST 效果如下

POST 代码 PUT 代码
【OSS 排查方案-13 postobject】
https://yqfile.alicdn.com/2b97fc5a2df185bdd181230b30f034b28b96e708.png
【OSS 排查方案-13 postobject】

结果:

PUT 触发了回调,POST 没有触发回调。

按理说,如果json格式有错误或者回调失败,都应该会返回对应的msg,而上传后一切成功但为什么没有发生回调呢?

发现:

检查到在发送请求时callback的参数是在 file 下面。

【OSS 排查方案-13 postobject】

修改:

调整一下位置,这样就会作为file的一部分。

【OSS 排查方案-13 postobject】

业务服务器上也如愿的抓到了请求

【OSS 排查方案-13 postobject】