ฉันมี Nginx 1.18 (ไม่ได้เชื่อมต่อ) เพื่อโฮสต์แอปพลิเคชัน REST API (ทำงานใน Docker Container) บน Ubuntu 20.04 และฉันพยายามตั้งค่า proxy_request_buffering
ปิดเพื่ออนุญาตให้อัปโหลดไฟล์ขนาดใหญ่พร้อมการสตรีม นี่คือบล็อกเซิร์ฟเวอร์ของฉัน:
เซิร์ฟเวอร์ {
server_name โดเมนของฉัน;
ตำแหน่ง ~ ^/(api|static\-data|static\-files)/ {
proxy_pass http://127.0.0.1:5001;
proxy_http_version 1.1;
proxy_set_header อัพเกรด $http_upgrade;
proxy_set_header การเชื่อมต่อคงอยู่;
proxy_set_header โฮสต์ $host;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
send_timeout 300;
ปิด proxy_request_buffering;
client_max_body_size 1,000m;
client_body_buffer_size 1,000m;
}
}
แต่มันไม่ได้ผลสำหรับฉัน
นอกจากการอัปโหลด API แล้ว ฉันมี API อื่นเพื่อแสดงความคืบหน้า เมื่อการอัปโหลด API อยู่ในสถานะรอดำเนินการ การตอบสนองของ API ความคืบหน้าจะเปิดเผยว่าแอปพลิเคชันของฉันไม่ได้รับคำขออัปโหลดจนกว่าไฟล์จะถูกบัฟเฟอร์โดย Nginxดังนั้น แอปพลิเคชันส่วนหลังของฉันจึงได้รับไฟล์ทั้งหมด และในฝั่งไคลเอ็นต์ แถบความคืบหน้าจะแสดงเป็นศูนย์เปอร์เซ็นต์จนกว่าจะอัปโหลดไฟล์ทั้งหมด
ยังไงก็ตาม อะไรๆ ก็ใช้ได้เมื่อฉันทดสอบในเครื่องด้วย
นกชวา ความคิดใด ๆ ?