天天看點

【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】