我在 nginx 后面有一个 Artifactory,上传大于 4 GB 的文件失败。我相当确定这是 nginx 的错误,因为如果文件从本地主机上传/上传到本地主机,则不会出现问题。
nginx 设置为client_max_body_size
and client_body_timeout
足够大,这不是问题。
尽管如此,当通过curl上传大文件(> 4 GB)时,大约半分钟后就会失败。我收到的唯一错误消息是HTTP 500 Internal Server Error
,没有任何内容写入 nginx 的错误日志。
我的问题是根目录上安装的磁盘空间不足。我安装了一个巨大的磁盘/home
,但只剩下大约 4 GB 了/
。我假设 nginx 在那里保存传入的请求主体,并且在它填满后,请求被关闭。
我修复它的方法是将这些行添加到nginx.conf
文件(并非所有文件都是必需的):
http {
(...)
client_max_body_size 100G;
client_body_timeout 300s;
client_body_in_file_only clean;
client_body_buffer_size 16K;
client_body_temp_path /home/nginx/client_body_temp;
}
最后一行是重要的部分 - 我告诉 nginx 修改它的文件/home
space.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)