我正在尝试将一个大文件(50mb到多个GB)上传到django网站。我使用django docs中介绍的常规文件上传方法。它适用于较小的文件。 我正在使用Nginx-> Gunicorn-> Django服务该网站。
当文件大小较大且文件上传花费的时间超过30秒时,Chrome调用它的上传请求将显示为“ stalled”,并且只会冻结。
我本来以为这是nginx的限制,因为error.log说:
2018/08/03 01:13:09 [错误] 1065#1065:* 3客户端打算发送太大的正文:30681744字节,(...)
所以我调整了以下设置:
nginx.conf :(在http块中)
client_max_body_size 100m;
client_body_buffer_size 100m;
client_body_timeout 120;
sites-available / host :(在服务器块中)
send_timeout 120;
client_max_body_size 100m;
client_body_buffer_size 100m;
client_body_timeout 120;
调整这些内容后,错误消息消失了。
黑匣子日志未提供更多信息。但是,文档告诉我使用--timeout 300标志来启动gunicorn,所以我这样做了。
但是文件仍然无法上传,并在30秒后“停滞”。
这是否拖延了浏览器问题?我记得用apache和PHP上传大文件没有问题。我是否缺少django配置?
谢谢您的时间。