fix for TUS uploads timing out (#1052)

* increase timeouts

* align

* remove client_header_timeout

* temporarily increase limit

* disable proxy buffering off

* formatting

* disable proxy request bufferring

* do not use upgrade

* 6 parallel connections

* test

* test

* test

* test

* test

* test

* test

* test

* test

* make sure it all works

* make sure it all works

* limit back to 1
This commit is contained in:
Karol Wypchło 2021-08-05 13:44:31 +02:00 committed by GitHub
parent 30473426df
commit ec60e00bf4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 8 deletions

View File

@ -330,18 +330,21 @@ server {
include /etc/nginx/conf.d/include/cors; include /etc/nginx/conf.d/include/cors;
include /etc/nginx/conf.d/include/track-upload; include /etc/nginx/conf.d/include/track-upload;
client_max_body_size 50M; # tus chunks size is 40M + leaving 10M of breathing room # TUS chunks size is 40M + leaving 10M of breathing room
client_max_body_size 50M;
# Those timeouts need to be elevated since skyd can stall reading
# data for a while when overloaded which would terminate connection
client_body_timeout 1h;
proxy_send_timeout 1h;
# increase request timeouts # Add X-Forwarded-* headers
proxy_read_timeout 600; proxy_set_header X-Forwarded-Host $host;
proxy_send_timeout 600; proxy_set_header X-Forwarded-Proto $scheme;
proxy_request_buffering off; # stream uploaded files through the proxy as it comes in
proxy_set_header Expect $http_expect;
# rewrite proxy request to use correct host uri from env variable (required to return correct location header) # rewrite proxy request to use correct host uri from env variable (required to return correct location header)
set_by_lua $SKYNET_SERVER_API 'return os.getenv("SKYNET_SERVER_API")'; set_by_lua $SKYNET_SERVER_API 'return os.getenv("SKYNET_SERVER_API")';
proxy_redirect https://siad $SKYNET_SERVER_API; proxy_redirect $scheme://$host $SKYNET_SERVER_API;
# proxy /skynet/tus requests to siad endpoint with all arguments # proxy /skynet/tus requests to siad endpoint with all arguments
proxy_pass http://siad; proxy_pass http://siad;