Am Nginx 1.18 (nedockerizat) pentru a găzdui o aplicație API REST (care rulează într-un container Docker) pe Ubuntu 20.04 și încerc să setez proxy_request_buffering
dezactivat pentru a permite încărcarea fișierelor mari cu streaming. Iată blocurile mele de server:
Server {
nume_server domeniul meu;
locație ~ ^/(api|static\-data|static\-files)/ {
proxy_pass http://127.0.0.1:5001;
proxy_http_versiunea 1.1;
proxy_set_header Actualizare $http_upgrade;
proxy_set_header Menținerea conexiunii;
proxy_set_header Gazdă $gazdă;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $schema;
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
send_timeout 300;
proxy_request_buffering dezactivat;
client_max_body_size 1000m;
client_body_buffer_size 1000m;
}
}
Dar nu merge pentru mine.
Pe lângă API-ul de încărcare, mai am un alt API pentru a arăta progresul. Când API-ul de încărcare este în starea de așteptare, răspunsul API-ului de progres arată că aplicația mea nu primește cererea de încărcare până când fișierul este complet tamponat de Nginx.Deci, aplicația mea back-end primește complet fișierele, iar în partea clientului, bara de progres afișează zero procente până când întregul fișier este încărcat.
Apropo, orice este în regulă când testez local cu
Kestrel. Vreo idee?