Score:0

เกิดข้อผิดพลาดในการอัปโหลดไฟล์ขนาดใหญ่ (>2gb) ผ่าน nginx reverse proxy ไปยังคอนเทนเนอร์

ธง za

ฉันกำลังเรียกใช้แอปพลิเคชันในคอนเทนเนอร์นักเทียบท่า (https://github.com/filebrowser/filebrowser/) ที่ฉันพยายามอัปโหลดไฟล์ขนาดใหญ่มาก (>2) gb ไป คอนเทนเนอร์เปิดเผยแอปบนพอร์ตที่ไม่ได้มาตรฐานบน localhost ซึ่งฉันเชื่อมต่อผ่าน reverse proxy (ดังนั้นฉันจึงสามารถเรียกใช้หลายแอปในเครื่องเดียว) ปัญหาคือเมื่อฉันอัปโหลดไฟล์เกิน 2097152 ไบต์ มันเกิดข้อผิดพลาด ฉันเห็นว่าไฟล์ได้รับการอัปโหลดอย่างสมบูรณ์ไปยัง nginx และบางส่วนทำให้แอป contianerized แต่หยุดทำงานเป็นเวลานานที่ 2097152 ไบต์ก่อนที่จะเกิดข้อผิดพลาดทำให้แอปคอนเทนเนอร์แสดงข้อผิดพลาด EOF ที่ไม่คาดคิด ฉันสงสัยว่ามีบางอย่างผิดปกติกับ nginx เพราะเมื่อฉันอัปโหลดไฟล์ไปยังแอปคอนเทนเนอร์โดยตรง มันใช้งานได้ดี ฉันได้ลองเพิ่มคำสั่งต่าง ๆ ให้กับการกำหนดค่า nginx และฉันก็นิ่งงัน การกำหนดค่า nginx ของฉันสำหรับไซต์คือ:

เซิร์ฟเวอร์ {
    server_name example.com;
    client_max_body_size 30g;
    proxy_buffer_size 1024k;
    proxy_buffers 4 1024k;
    proxy_busy_buffers_size 1024k;
    proxy_max_temp_file_size 10,000m;
    proxy_connect_timeout 10,000;
    proxy_send_timeout 10,000;
    proxy_read_timeout 10,000;
    send_timeout 10,000;
    client_header_timeout 10,000;
    client_body_timeout 10,000;
    
    ที่ตั้ง / {
    proxy_pass http://localhost:8088/;
    proxy_http_version 1.1;
    proxy_cache_bypass $http_upgrade;

    proxy_set_header อัพเกรด $http_upgrade;
    proxy_set_header การเชื่อมต่อ "อัพเกรด";
    proxy_set_header โฮสต์ $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Port $server_port;

    proxy_connect_timeout 10,000 วินาที;
    proxy_send_timeout 10,000 วินาที;
    proxy_read_timeout 10,000 วินาที;
    }}

ข้อผิดพลาดที่ฉันได้รับใน nginx คือ:

2022/04/14 20:26:56 [ข้อผิดพลาด] 3286524#3286524: *13184 การเชื่อมต่อ() ล้มเหลว (111: การเชื่อมต่อถูกปฏิเสธ) ขณะเชื่อมต่อกับอัปสตรีม ไคลเอนต์: xxx.xxx.xxx.xxx เซิร์ฟเวอร์: example.com คำขอ: "POST /api/resources/Fedora-KDE-Live-x86_64-35-1.2.iso?override=false HTTP/1.1", อัปสตรีม: "http://[::1]:8088/api/resources/ Fedora-KDE-Live-x86_64-35-1.2.iso?override=false", โฮสต์: "example.com", ผู้อ้างอิง: "https://example.com/files/" 

แก้ไข: หลังจากทำการขุดจำนวนมากดูเหมือนว่าวิธีแก้ปัญหาคือการลบ proxy_buffer_size, proxy_buffers, และ proxy_busy_buffer_size และเพิ่ม proxy_request_buffer ไม่; ฉันไม่รู้ว่าทำไมมันถึงใช้งานได้ แต่มันได้ผล

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา