通过SDK上传oss文件报错“413 Request Entity Too Large”

琉璃2年前技术文章1633

问题描述

通过SDK上传oss文件返回错误如下,客户反馈上传的文件不大,只有200M。浏览器端访问返回504 timeout报错,同客户核实是每次到1min 30s时候上传大文件会报错


com.aliyun.oss.OSSException: Failed to parse the response result. 
[ErrorCode]: InvalidResponse [RequestId]: null [HostId]: null 
[ResponseError]: <html> <head><title>413 Request Entity Too Large</title></head> 
<body> <center><h1>413 Request Entity Too Large</h1></center> <hr><center>nginx/1.16.1</center> </body> </html>

问题处理

查看访问链路中 可能做的访问限制,其中nginx代理侧限制为500M

image.png


同阿里进一步核实,OSS 上传文件核实也没有时间限制

阿里反馈SDK有一些超时限制。例如java

image.png


检查后没有时间限制

进一步核实链路上是否有其他限制

访问链路: SLB--ECS(nginx)--OSS (域名访问首先经过SLB,再到后端ECS,后端程序中再调用OSS上传接口

修改了SLB的超时时间,从60S改为180S后可以上传了,但是从报错日志来看,SLB记录有504状态码

image.png

问题分析

60秒内没后端没有将请求处理完成,并且将响应回复的数据包在60秒内没有发送完成。 后端需要在这个超时时间内将响应处理完成。

image.png

解决办法

优化后端处理时间,将负载均衡的超时时间延长调整。


相关文章

k8s Krew 插件使用指南

kubectl Krew 插件使用指南前言:在某些情况下,只是使用 kubectl 命令的时候存在效率比较低、功能不满足的问题,针对这些问题,社区提出了krew插件项目。还有一点是:大部分工程师还是喜...

COS快照迁移ES集群

一、COS 全量快照备份基于 COS 快照的迁移方式是使用 ES 的 snapshot api 接口进行迁移,基本原理就是从源 ES 集群创建索引快照,然后在目标 ES 集群中进行恢复。通过 snap...

flink sql 批处理

进入flink sql命令行sql-client.shSource 表        与所有 SQL 引擎一样,Flink 查询操作是在表上进行。与传统数据库不同,Flink 不在本地管理静态数据;相...

Docker镜像是有仓库

在Docker中,当我们执行 docker pull xxx 的时候 ,它实际上是从 hub.docker.com 这个地址去查找,这就是 Docker 公司为我们提供的公共仓库。在工作中,我们不可能...

RMAN-08137处理

现象:删除归档的时候报错:RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture p...

HAProxy

HAProxy

1、HAProxy简介  HAProxy 是一款基于 TCP(第四层)和 HTTP(第七层)应用的代理软件,它也可作为负载均衡器,而且完全免费。 借助 HAProxy,可以快速并且可靠地提供基于 TC...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。