codebee
codebee

Reputation: 844

Why does large file upload fail on nginx?

I have a 140MB file that fails to upload on my nginx.

I have the following directives set in nginx.conf inside the 'server{}` block.

        send_timeout 30m;
        proxy_read_timeout 30m;
        client_max_body_size 10g;
        keepalive_timeout 0;
        lingering_timeout 3m;

Smaller files are uploading. When I turned debug logs on, I see these lines in the last few statements:

[debug] 5291#0: epoll timer: -1
[debug] 4714#0: child: 3 5292 e:0 t:0 d:0 r:1 j:0
[debug] 4714#0: sigsuspend
[debug] 5292#0: epoll: fd:15 ev:0001 d:00007F9F294E72C8
[debug] 5292#0: channel: 32
[debug] 5292#0: channel command: 2
[debug] 5292#0: close channel s:0 pid:4990 our:4990 fd:10
[debug] 5292#0: channel: 32
[debug] 5292#0: channel command: 2
[debug] 5292#0: close channel s:1 pid:4991 our:4991 fd:12
[debug] 5292#0: channel: -2
[debug] 5292#0: timer delta: 141
[debug] 5292#0: worker cycle
[debug] 5292#0: epoll timer: -1
[debug] 5292#0: worker cycle
[debug] 5292#0: epoll timer: -1

Upvotes: 0

Views: 400

Answers (2)

mdehghani
mdehghani

Reputation: 551

In my case it was not about the client or server configurations. It was about cloudflare not allowing uploads more than 100MB in their free plan.

Upvotes: 0

codebee
codebee

Reputation: 844

Fix was to set this directive:

http2_recv_timeout 3m;

My client connection was slow which is why the file was not getting uploaded to the server. I'm using nginx version 1.22.2

Upvotes: 1

Related Questions