Merge pull request #1375 from SkynetLabs/hard-limits

introduce hard upload limits
This commit is contained in:
Ivaylo Novakov 2021-11-11 18:18:25 +01:00 committed by GitHub
commit fb24ff4641
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 14 additions and 2 deletions

View File

@ -136,10 +136,10 @@ location /skynet/skyfile {
include /etc/nginx/conf.d/include/track-upload; include /etc/nginx/conf.d/include/track-upload;
include /etc/nginx/conf.d/include/generate-siapath; include /etc/nginx/conf.d/include/generate-siapath;
limit_req zone=uploads_by_ip burst=100 nodelay; limit_req zone=uploads_by_ip burst=2 nodelay;
limit_req zone=uploads_by_ip_throttled; limit_req zone=uploads_by_ip_throttled;
limit_conn upload_conn 10; limit_conn upload_conn 2;
limit_conn upload_conn_rl 1; limit_conn upload_conn_rl 1;
client_max_body_size 1000M; # make sure to limit the size of upload to a sane value client_max_body_size 1000M; # make sure to limit the size of upload to a sane value
@ -174,6 +174,12 @@ location /skynet/tus {
include /etc/nginx/conf.d/include/cors-headers; # include cors headers but do not overwrite OPTIONS response include /etc/nginx/conf.d/include/cors-headers; # include cors headers but do not overwrite OPTIONS response
include /etc/nginx/conf.d/include/track-upload; include /etc/nginx/conf.d/include/track-upload;
limit_req zone=uploads_by_ip burst=2 nodelay;
limit_req zone=uploads_by_ip_throttled;
limit_conn upload_conn 2;
limit_conn upload_conn_rl 1;
# 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; client_max_body_size 50M;
@ -239,6 +245,12 @@ location /skynet/pin {
include /etc/nginx/conf.d/include/track-upload; include /etc/nginx/conf.d/include/track-upload;
include /etc/nginx/conf.d/include/generate-siapath; include /etc/nginx/conf.d/include/generate-siapath;
limit_req zone=uploads_by_ip burst=2 nodelay;
limit_req zone=uploads_by_ip_throttled;
limit_conn upload_conn 2;
limit_conn upload_conn_rl 1;
proxy_set_header User-Agent: Sia-Agent; proxy_set_header User-Agent: Sia-Agent;
proxy_pass http://sia:9980$uri?siapath=$dir1/$dir2/$dir3&$args; proxy_pass http://sia:9980$uri?siapath=$dir1/$dir2/$dir3&$args;
} }