后台大文件上传超时问题解决

配置SpringMVC异步请求超时与Nginx代理设置

1. yml中修改:

spring:
mvc:
async:
request-timeout: 2000000

2.Nginx中配置

location /prod-api/{
client_max_body_size 500m;
client_body_buffer_size 1280k;
proxy_send_timeout 3000;
proxy_read_timeout 3000;
proxy_connect_timeout 300s;
proxy_pass http://localhost:11857/;
}

### 配置 Nginx 支持大文件上传 为了使 Nginx 能够支持大文件上传,需要适当调整 `nginx.conf` 中的相关参数。以下是具体的配置方法: #### client_body_buffer_size 和 client_max_body_size 参数 对于大文件上传的支持,首先应当增加客户端请求体缓冲区大小以及最大允许的请求体尺寸。 ```nginx http { ... client_body_buffer_size 10M; client_max_body_size 50M; } ``` 上述命令分别设置了客户端请求体的最大临时存储空间为10MB和整个请求体的最大尺寸为50MB[^4]。 #### 客户端超时设置 针对客户端操作超时的情况,可以修改 `client_body_timeout` 来延长等待客户机发送数据的时间间隔。 ```nginx server { ... client_body_timeout 600s; # 设置客户端传输身体部分的超时时长为600秒 } ``` 这表示如果超过指定时间内未接收到完整的请求主体,则会触发超时错误并中断连接[^2]。 #### 后端服务器响应超时设置 当涉及到代理到其他服务时,还需要考虑来自后端服务器的响应时间。通过调节 `proxy_read_timeout` 可以控制Nginx等待上游应用返回应答的时间长度。 ```nginx location /upload/ { proxy_pass http://backend_service; proxy_read_timeout 900s; # 设定读取后台服务器回应的最长时限为900秒 } ``` 此设定意味着一旦建立好与后端的服务链接,在获取其回复的过程中最多可容忍长达900秒钟无新消息传入的状态[^1]。 综上所述,合理的超时时间和足够的内存分配能够有效保障大型文件的安全可靠传送过程中的稳定性。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冯晓东x

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值