NginxHttpUploadProgressModule never response "done" state for large files
Brice Figureau
brice+nginx at daysofwonder.com
Fri May 21 14:08:09 MSD 2010
Hi,
On Mon, 2010-05-17 at 08:21 -0400, murphy wrote:
> When uploading large files (>150Mb) , progress bar shows normal till
> 100% value, but in the end of upload process he does not send "done"
> response, and looks like this :
>
> ....
> new Object({ 'state' : 'uploading', 'received' : 244431206, 'size' :
> 244431206 })
> new Object({ 'state' : 'uploading', 'received' : 244431206, 'size' :
> 244431206 })
> new Object({ 'state' : 'uploading', 'received' : 244431206, 'size' :
> 244431206 })
> new Object({ 'state' : 'uploading', 'received' : 244431206, 'size' :
> 244431206 })
> new Object({ 'state' : 'uploading', 'received' : 244431206, 'size' :
> 244431206 })
> ...
>
> and after few seconds (~30s) "504 gateway time out" error is
> showing.
That's strange. Can you please compile nginx with --with-debug, then
activate the debug log and upload agin the same file.
Then send me privately the compressed log file so that I can analyze it.
One possibility is that your upstream is not slurping the file quickly
enough and then nginx timeouts. The upload progress module will report
the upload done only when the upstream finally gets it (which is usually
fast because on LAN or localhost).
What do you use as upstream?
> The host config looks like the one in the UploadProgressModule
> example, other vars
> [b]nginx.conf vars:[/b]
> client_max_body_size 900m;
> keepalive_timeout 70 30;
> send_timeout 30s;
>
> [b]php.ini vars:[/b]
> post_max_size = 300M
> upload_max_filesize = 300M
> max_execution_filesize = 30
> max_input_time = 90
--
Brice Figureau
My Blog: http://www.masterzen.fr/
More information about the nginx
mailing list