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

琉璃10个月前技术文章534

问题描述

通过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

解决办法

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


相关文章

Doris 介绍及使用场景

Doris 介绍及使用场景

Doris 介绍                    Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据...

使用Velero备份与恢复K8s集群及应用

使用Velero备份与恢复K8s集群及应用

环境3台虚拟机组成一主两从的测试集群,使用NFS作为动态存储主机IP系统k8s-master192.168.1.10centos7.9k8s-node1192.168.1.11centos7.9k8s...

MySQL运维实战(1.1)安装部署:使用RPM进行安装部署

MySQL运维实战(1.1)安装部署:使用RPM进行安装部署

我们在生产环境部署mysql时,一般很少使用rpm。用rpm或或者其他包管理器安装mysql,好处是安装简单,而且很多系统可能都自带了某个版本的mysql。但是使用RPM安装也存在一些缺点:1、rpm...

MySQL 通过 MTS 多线程恢复增量日志备份

MySQL 通过 MTS 多线程恢复增量日志备份

一、前言当发生 DDL 误删数据时,只能通过 备份 + 增量日志 来恢复,备份恢复到新实例后,将增量日志备份进行应用,此时只能单线程效率不高,我们可以使用 MySQL 5.7 推出的 MTS 多线程复...

MongoDB的索引(三)

七、Compound Indexes{  "item": "Banana",  "category": ["food", "produce", "grocery"],  "location": ...

flink sql 批处理

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

发表评论    

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