Tôi có Nginx 1.18 (chưa cập bến) để lưu trữ ứng dụng API REST (chạy trong Docker Container) trên Ubuntu 20.04 và tôi cố gắng thiết lập proxy_request_buffering
tắt để cho phép tải lên các tệp lớn bằng tính năng phát trực tuyến. Đây là khối máy chủ của tôi:
người phục vụ {
server_name mydomain;
vị trí ~ ^/(api|static\-data|static\-files)/ {
proxy_pass http://127.0.0.1:5001;
proxy_http_version 1.1;
proxy_set_header Nâng cấp $http_upgrade;
proxy_set_header Kết nối vẫn hoạt động;
proxy_set_header Máy chủ lưu trữ $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
gửi_thời gian chờ 300;
tắt proxy_request_buffering;
client_max_body_size 1000m;
client_body_buffer_size 1000m;
}
}
Nhưng nó không làm việc cho tôi.
Bên cạnh API tải lên, tôi có một API khác để hiển thị tiến trình. Khi API tải lên ở trạng thái chờ xử lý, phản hồi của API tiến trình cho biết ứng dụng của tôi không nhận được yêu cầu tải lên cho đến khi tệp được Nginx lưu vào bộ đệm đầy đủ.Vì vậy, ứng dụng back-end của tôi nhận tệp hoàn toàn và ở phía máy khách, thanh tiến trình hiển thị 0% cho đến khi toàn bộ tệp được tải lên.
Nhân tiện, mọi thứ đều ổn khi tôi kiểm tra cục bộ với
con chim cắt. Bất kỳ ý tưởng?