开发者社区> 问答> 正文

【OSS】上传回调出现“CallbackFailed”错误,该如何解决?

已解决

上传回调出现“CallbackFailed”错误,该如何解决?

展开
收起
云上猫猫 2022-01-18 16:30:44 3091 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    报错信息1

    <Error>
    
      <Code>CallbackFailed</Code>
    
      <Message>Response body is not valid json format.</Message>
    
      <RequestId>587C81A125F797621829923D</RequestId>
    
      <HostId>bucket.oss-cn-hangzhou.aliyuncs.com</HostId>
    
    </Error>
    
    

    问题原因:回调服务器返回给OSS的消息体非Json格式。

    解决方法:您可以通过curl -d "<Content>" <CallbackServerURL> -v或抓包确认内容。Windows下推荐使用Wireshark工具抓包,Linux下使用tcpdump工具抓包,详情请参见网络异常时如何抓取数据包。一些非法返回消息体如OK,\357\273\277{"Status":"OK"}(即含有ef bb bf三个字节的BOM头)等。

    报错信息2

    <Error>
    
      <Code>CallbackFailed</Code>
    
      <Message>Error status : -1.OSS can not connect to your callbackUrl, please check it.</Message>
    
      <RequestId>587C8735355BE8694A8E9100</RequestId>
    
      <HostId>bucket.oss-cn-hangzhou.aliyuncs.com</HostId>
    
    </Error>
    

    问题原因:回调服务器处理时间超过5秒,OSS认为超时。

    解决方法:建议回调服务器的处理逻辑修改为异步,保证在5秒内处理完毕并返回结果给OSS。

    报错信息3

    <Error>
    
      <Code>CallbackFailed</Code>
    
      <Message>Error status : -1 8.8.8.8:9090 reply timeout, cost:5000ms, timeout:5000ms (err -4, errno115)</Message>
    
      <RequestId>587C8D382AE0B92FA3EEF62C</RequestId>
    
      <HostId>bucket.oss-cn-hangzhou.aliyuncs.com</HostId>
    
    </Error>
    

    问题原因:回调服务器处理时间超过5秒,OSS认为超时。

    报错信息4

    <Error>
    
      <Code>CallbackFailed</Code>
    
      <Message>Error status : 400.</Message>
    
      <RequestId>587C89A02AE0B92FA3C7981D</RequestId>
    
      <HostId>bucket.oss-cn-hangzhou.aliyuncs.com</HostId>
    
    </Error>
    

    问题原因:回调服务器返回给OSS的消息的状态码是400。

    解决方法:请检查回调服务器的处理逻辑。

    报错信息5

    <Error>
    
      <Code>CallbackFailed</Code>
    
      <Message>Error status : 502.</Message>
    
      <RequestId>587C8D382AE0B92FA3EEF62C</RequestId>
    
      <HostId>bucket.oss-cn-hangzhou.aliyuncs.com</HostId>
    
    </Error>
    

    问题原因:回调服务器未启动,或者缺少上传回调参数中的CallbackUrl,或者OSS与回调服务器的网络不通。

    解决方法:推荐在ECS上部署回调服务器,与OSS同属内网可以节省流量费用,同时保证网络质量。

    2022-01-18 16:37:33
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
问答排行榜
最热
最新

相关电子书

更多
百问百答-OSS (下) 立即下载
百问百答-OSS (上) 立即下载
低代码开发师(初级)实战教程 立即下载