关闭

上传文件异常问题_413 Request Entity Too Large的解决方法

时间: 2019-01-18阅读: 1922标签: 文件

问题:413 Request Entity Too Large

对于有经验的开发着看见这个错误第一反应就是服务器的上传大小设置的不对那么修改服务器上传大小。对于nginx的配置有三个地方可以设置


解决413的正常途径

分别是 http,server,location 根据实际情况设置具体的大小

client_max_body_size 50m;

然而在本次问题中,设置之后发现配置未生效,还是一直报413的错误,以为是配置未生效,重启nginx,重启服务器,都未果。

由于不想影响业务直接reload导致的错误信息不明显 设置的级别最低,怕影响到全局。

通过直接请求应用的服务器没问题,再次确定这次问题跟 nginx 的配置有关,通过调整client_max_body_size的位置后错误信息变了,变为Gateway 504 Time out,超时,好像到这里问题就很明确了,由于这次请求的接口的主要业务是走的数据传输,数据交换,数据量比较大,时间比较长,超过了nginx默认的代理时长,再结合之前的错误信息发现,每次只要请求时间超过1分钟就立即报错,OK,那么接下来修改Nginx的代理超时时间配置,在location中设置一下内容,问题解决

proxy_connect_timeout 300s;
proxy_send_timeout 300s;
proxy_read_timeout 300s;


反思

终究还是数据处理的太慢了,现在只有2k条数据处理花费了就有1分20秒,不太正常,那么怎么解决这种花费时间特别长的问题呢,这里提出几种思路 

1、队列+异步 

2、服务端接收到数据后,直接存放到队列里,然后直接返回结果,然后服务端的应用再去队列里取数据 ,如果有问题的话,再向请求方推送一条数据,这样可以大大的提升效率,减少数据的数据库操作的等


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/1838

如何使用 HTML Imports?

Web 组件从第一次被引入,经历了漫长的过程。其中某个组件可能真的会改变我们编写网站的方式,它就是 HTML Imports 。这种方法允许我们将 HTML 文档导入到其他的 HTML 文档中去

html5中利用FileReader来读取文件

利用FileReader来读取文件的能够来实现即时预览的效果,这个也是在html5中才有的功能,readAsText():读取文本文件(可以使用TxT打开的文件),返回文本字符串,默认编码是UTF-8

CSS文件里引入另一个CSS文件

在HTML中引入css的其中的两个方法:使用链接式、使用导入式;使用链接式时,会在装载页面主体部分 之前装载css文件,这样现实出来的页面从一开始就是带有样式效果的

源文件是什么?

在开发软件的过程中,我们需要将编写好的代码(Code)保存到一个文件中,这样代码才不会丢失,才能够被编译器找到,才能最终变成可执行文件。这种用来保存代码的文件就叫做源文件(Source File)。

使用FileSave.js将网页内容保存到文件

在写Chrome extension时候,偶尔需要将网页的内容保存到文件。要实现此功能,正常的流程是创建Blob对象存放内容,创建url,创建一个 a 标签,然后将连接与Blob对象关联并放到 a标签的href或者download(H5)属性中

nodejs fs怎么读取文件是否存在?

nodejs fs怎么读取文件是否存在?下面本篇文章就来给大家介绍一下使用nodejs fs模块读取并判断文件是否存在的方法,希望对大家有所帮助。在nodejs中,可以使用fs模块的access()方法来读取、判断文件是否存在。

nodejs对项目下所有空文件夹创建gitkeep

项目/框架初始化时可能需要保留一些空文件,这时候就需要批量新增gitkeep

input type=file 上传文件,同一个文件第二次上传无反应

用input file上传文件,掉用onchange方法时,多次上传同一个文件时功能失效,不会发送ajax请求,input[type=file]使用的是onchange去做,onchange监听的为input的value值,只有再内容发生改变的时候去触发

vue读取本地的excel文件并显示在网页上

我想实现读取一个本地的xlsx文件(task_list.xlsx)然后显示在网页上, 一开始选择的方法是建个express server, 通过发送axios请求来实现, 但是觉得只是读取一个本地文件还要搞个server太复杂了

php实现rar文件的读取和解压

PHP Rar Archiving 模块 (php_rar) 是一个读取和解压rar文件的模块,但不提供RAR压缩(打包)的功能。首先要到PECL的RAR页面下载DLL. 根据自己的情况选择下载对应版本的DLL.

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!