Przesyłam plik 26 GB, ale otrzymuję:
413 Request Entity Too Large
Wiem, że jest to powiązane client_max_body_size
, więc mam ten parametr ustawiony na 30000M
.
location /supercap {
root /media/ss/synology_office/server_Seq-Cap/;
index index.html;
proxy_pass http://api/supercap;
}
location /supercap/pipe {
client_max_body_size 30000M;
client_body_buffer_size 200000k;
proxy_pass http://api/supercap/pipe;
client_body_temp_path /media/ss/synology_office/server_Seq-Cap/tmp_nginx;
}
Ale nadal pojawia się ten błąd po przesłaniu całego pliku.
Jeśli przesyłasz pliki o tym rozmiarze, prawdopodobnie powinieneś po prostu całkowicie wyłączyć sprawdzanie rozmiaru ciała za pomocą:
źródło
Z szacunkiem nie jestem pewien, dlaczego używasz protokołu HTTP do przesyłania tak dużej ilości danych. Często wykonuję moje duże transfery za pośrednictwem ssh
... co daje mi skompresowany bzip. Ale gdybym musiał wykonać wznawiający transfer, mógłbym użyć sftp, lftp, a nawet rsync. Każdy z nich (lub ich pochodne lub rodzeństwo) jest w stanie
Tylko jedna z tych opcji byłaby dla Ciebie dostępna podczas próby przesłania przez HTTP (a mianowicie nr 1, jeśli korzystasz z https).
Mam nadzieję, że przyjrzysz się jednej z powyższych lub kilku innych alternatyw.
źródło