上传文件到云存储前端报错413 Request Entity Too Large

server/2024/10/24 1:46:29/

访问上传接口控制台报错 详细原因 net::err_connection_reset,于是用postman测试报错 nginx 413 Request Entity Too Large
这个报错就很明显了,nginx对上传文件的大小有了限制,去看看nginx的配置就知道了。
client_max_body_size 100M; 设置的值有点小,修改这个配置就可以了

配置项的优先级顺序是:location > server > http

1、http配置,这将作为全局的默认值
http {client_max_body_size 200m;  # 客户端请求服务器最大允许大小...
}2、server配置,只在server块中生效
server {client_max_body_size 500m;...
}3、location配置,只在指定的url中生效
location /upload {client_max_body_size 1G;...
}

修改完后要重启nginx才会生效

1、参考博客,记录下面配置,以后可能用到

Nginx + PHP 8.0支持视频上传_nginx+php8-CSDN博客

配置超时时间
上传大文件可能需要更多的时间,因此你需要增加相关的超时时间:http {client_body_timeout 120s;  # 设置上传超时时间为120秒send_timeout 120s;         # 设置发送超时时间为120秒keepalive_timeout 120s;    # 设置保持连接超时时间为120秒...
}整缓冲区大小
缓冲区的大小影响文件上传的性能,可以根据服务器的资源和文件大小调整这些缓冲区大小:http {client_body_buffer_size 256k;   # 调整请求体的缓冲区大小client_header_buffer_size 1k;   # 调整请求头的缓冲区大小large_client_header_buffers 4 32k; # 调整大请求头的缓冲区大小...
}

2、后面再测试上传测试一个2G,报错nginx  504 Gateway Time-out 

 使用的proxy_pass进行的请求转发,修改相关参数,改成300,上传成功。

location /upload {client_max_body_size 2G;proxy_connect_timeout 300; # 之前默认是60proxy_send_timeout 300;proxy_read_timeout 300;...
}

有个问题,前端访问这个上传接口,上传2g的文件到云存储,后端代码的日志记录差不多等了10分钟才开始有反应。
这个有点不正常,前端到后端这么长时间是在加载还是啥,有待考究。后端日志动起来到上传成功是正常的。
查资料
1、在nginx中,client_body_temp是一个用于存储客户端请求体数据(例如上传文件)的临时文件目录。
当客户端发送包含请求体数据的请求时(例如:通过post请求上传文件),nginx会将请求数据存储在临时文件中。这个过程是否需要时间,


http://www.ppmy.cn/server/134317.html

相关文章

【数学二】一元函数积分学-定积分的应用-平面图形面积、旋转体体积、函数的平均值、平面曲线的弧长、旋转曲面面积

考试要求 1、理解原函数的概念,理解不定积分和定积分的概念. 2、掌握不定积分的基本公式,掌握不定积分和定积分的性质及定积分中值定理,掌握换元积分法与分部积分法. 3、会求有理函数、三角函数有理式和简单无理函数的积分. 4、理解积分上限…

【Flutter】基础组件:文本及样式

在 Flutter 开发中,文本是最基本的 UI 元素之一。无论是简单的标题,还是复杂的富文本展示,Flutter 提供了强大的 Text 和相关的样式工具来满足开发需求。本教程将深入介绍 Text、TextStyle、TextSpan、DefaultTextStyle 及字体等内容&#xf…

【数据结构】滑动窗口算法详解:高效解决子串问题

滑动窗口(Sliding Window)是一种常用于处理数组或字符串中子序列问题的算法技巧。它通过维护一个窗口来限制待处理的数据范围,从而高效地解决问题,避免重复计算。它的时间复杂度通常为 O(N),相较于暴力破解&#xff08…

部署harbor问题(缺少ssl认证证书)

在部署harbor服务,/install.sh启动时,缺少ssl认证 1. 创建证书目录 首先,创建 /usr/local/harbor/ssl 目录: mkdir -p /usr/local/harbor/ssl 2. 生成私钥 生成一个 4096 位的 RSA 私钥: openssl genrsa -out /us…

Git 分支操作-开发规范

一、背景 在实际开发中,一般在主分支的基础上单独创建一个新的分支进行开发,最后合并到master分支,而不是直接在master分支进行开发。 二、新建分支 1、初始状态,local为本地分支,remote为远程分支 2、单击 “Remot…

更新项目vue版本--入门篇

今天想用下ElementPlus的Form表单,结果给我 Extraneous non-props attributes (ref_key) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. 这样一个警告 出现这个警告跟vue版本有关&a…

RabbitMQ进阶_可靠性

文章目录 一、 发送者的可靠性1.1、 生产者重试机制1.2、 生产者确认机制1.2.1、确认机制理论1.2.2、确认机制实现1.2.2.1、定义ReturnCallback1.2.2.2、定义ConfirmCallback 二、 MQ的可靠性2.1、 数据持久化2.1.1、 交换机持久化2.1.2、 队列持久化2.1.3、 消息持久化 2.2、 …

Flume面试整理-Flume与其他数据收集工具的比较

Apache Flume 是一个流行的数据收集工具,但在大数据领域,还有许多其他工具可用于数据收集和传输,如 Apache Kafka、Logstash、Filebeat 等。每个工具都有其独特的优势和使用场景。下面是 Flume 与其他常见数据收集工具的详细比较,包括功能、性能、扩展性等多个方面。 1. Fl…