问题所在

alist运行在服务器上,设置了反向代理以使用域名访问,而nginx限制前端上传文件大小以及超时时间。

解决方案

server段内添加如下内容,根据需求自行修改。

1
2
3
4
5
6
7
8
9
10
11
12
13
client_max_body_size 10000m;   # 允许上传的最大文件大小为10GB,适用于大文件上传场景
sendfile on; # 启用sendfile以优化静态文件的传输性能(主要用于下载场景)
tcp_nopush on; # 将HTTP头部和响应数据合并到一个TCP包中发送,适用于大文件传输
tcp_nodelay on; # 禁用Nagle算法,减少小数据包传输延迟,提高交互响应速度
client_header_timeout 60s; # 客户端发送HTTP头部的超时时间为60秒,用于快速关闭闲置连接
client_body_timeout 7200s; # 客户端发送HTTP请求体的超时时间为2小时,适合长时间大文件上传
proxy_connect_timeout 7200s; # Nginx与后端服务器建立连接的超时时间为2小时,匹配大文件上传需求
proxy_send_timeout 7200s; # Nginx向后端服务器发送数据的超时时间为2小时,确保长时间上传不中断
proxy_read_timeout 7200s; # Nginx从后端服务器读取响应的超时时间为2小时,匹配大文件上传需求
send_timeout 7200s; # Nginx向客户端发送响应的超时时间为2小时,防止长时间传输过程中断
keepalive_timeout 7200s; # 保持客户端与服务器之间的连接存活2小时,减少重新连接的开销
lingering_close on; # 在关闭连接前尽量处理客户端发送的数据,平衡性能与数据完整性

参考链接

nginx性能优化(一)上传文件与响应超时时间
Nginx 上传大文件超大超时解决办法