172 похожих чатов

Здравствуйте. Пытаюсь загрузить большой файл (4гб) с фронтенда функцией fetch через

nginx в actix-web используя библиотеку actix-multipart. Локальная сеть, в nginx выставляен таймаут в 20 минут, всем участникам выставлен максимальный размер файла в 100гб. Почему-то запрос падает с ошибкой 504 timeout. Actix пишет в лог загадочный "Error in response: Incomplete". Где вообще искать проблему?

13 ответов

28 просмотров

А в логах nginx что?

Steel-Sword Автор вопроса

Если убрать всякий мусор, то такое 2023/09/05 12:08:50 [debug] 184974#184974: *1 http run request: "/url" 2023/09/05 12:08:50 [debug] 184974#184974: *1 http upstream check client, write event:1, "/url" 2023/09/05 12:08:50 [debug] 184974#184974: *1 http upstream request: "//url" 2023/09/05 12:08:50 [debug] 184974#184974: *1 http upstream send request handler 2023/09/05 12:08:50 [debug] 184974#184974: *1 http upstream send request 2023/09/05 12:08:50 [debug] 184974#184974: *1 http upstream send request body 2023/09/05 12:08:50 [debug] 184974#184974: *1 tcp_nopush 2023/09/05 12:08:50 [debug] 184974#184974: *1 writev: 693 of 693 2023/09/05 12:08:50 [debug] 184974#184974: *1 sendfile: @0 2147479552 2023/09/05 12:08:50 [debug] 184974#184974: *1 sendfile: 2147479552 of 2147479552 @0 2023/09/05 12:29:00 [debug] 184974#184974: *1 http upstream request: "/url" 2023/09/05 12:29:00 [debug] 184974#184974: *1 http upstream send request handler 2023/09/05 12:29:00 [debug] 184974#184974: *1 http next upstream, 4 2023/09/05 12:29:00 [debug] 184974#184974: *1 free rr peer 1 4 2023/09/05 12:29:00 [error] 184974#184974: *1 upstream timed out (110: Unknown error) while sending request to upstream, client: 192.168.123.127, server: _, request: "POST /url", host: "192.168.9.252", referrer: "http://192.168.9.252/ui/map" 2023/09/05 12:29:00 [debug] 184974#184974: *1 finalize http upstream request: 504 2023/09/05 12:29:00 [debug] 184974#184974: *1 finalize http proxy request 2023/09/05 12:29:00 [debug] 184974#184974: *1 close http upstream connection: 17 2023/09/05 12:29:00 [debug] 184974#184974: *1 http finalize request: 504, "/url" a:1, c:1 2023/09/05 12:29:00 [debug] 184974#184974: *1 http special response: 504, "/url" 2023/09/05 12:29:00 [debug] 184974#184974: *1 HTTP/1.1 504 Gateway Time-out^M

А у Актикса есть свой таймаут?

Steel-Sword Автор вопроса
Lev Khoroshansky
А у Актикса есть свой таймаут?

Я хз. Гуглил, ничего не нашёл. Есть какой-то keep-alive, но немного непохоже на таймаут, щас разбираюсь

Steel-Sword Автор вопроса
Lev Khoroshansky
А у Актикса есть свой таймаут?

Keep-Alive Actix Web keeps connections open to wait for subsequent requests. keep alive connection behavior is defined by server settings. Duration::from_secs(75) or KeepAlive::Timeout(75): enables 75 second keep-alive timer. KeepAlive::Os: uses OS keep-alive. None or KeepAlive::Disabled: disables keep-alive. Есть что-то такое. Но я не понимаю, что это

Скорее всего в nginx / таймауте

Steel Sword
Keep-Alive Actix Web keeps connections open to wai...

Это для сценариев, когда ты много запросов шлёшь, чтобы заново TCP подключения на каждый запрос не создавать

Steel-Sword Автор вопроса
Александр Ф. 🇷🇺
Скорее всего в nginx / таймауте

location /url { client_max_body_size 100000M; proxy_read_timeout 20m; proxy_connect_timeout 20m; proxy_send_timeout 20m; proxy_set_header Host $host; proxy_pass http://127.0.0.1:10001; }

Steel-Sword Автор вопроса

сервер дропает коннекшн видимо

Steel-Sword Автор вопроса
Bro Etiket
сервер дропает коннекшн видимо

Я копался вчера целый день, в итоге понял, что это nginx чёто мутит, пошёл в чат по nginx, там предложили попробовать отключить proxy_request_buffering (он включен по умолчанию), и всё заработало. Проблема была в том, что пока nginx ждал весь файл, чтобы забуферить его, срабатывал таймаут

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта