Я запускаю приложение django с nginx в докере. Я могу скачивать файлы через API, используя библиотеку requests
. Когда я хочу загрузить файл размером 55 МБ, каким-то образом происходит разрыв соединения и загрузка не завершается.
Я попытался настроить такие конфигурации nginx, но загрузка все равно не удалась:
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
use epoll;
multi_accept off;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
send_timeout 7200;
keepalive_timeout 7200;
fastcgi_read_timeout 7200;
proxy_read_timeout 7200;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
Я также пробовал установить рабочих выше, но в документации это не рекомендуется. Я установил значения
send_timeout 7200;
keepalive_timeout 7200;
fastcgi_read_timeout 7200;
proxy_read_timeout 7200;
очень высокий, поэтому сервер не закрывает соединение. Но загрузка все равно прерывается после примерно 27 МБ.
Есть ли какая-нибудь конфигурация, которая может вызвать это?
Помощь очень ценится. Большое спасибо заранее.
РЕДАКТИРОВАТЬ: я могу загрузить файл с быстрым подключением к Интернету в браузере. Но когда соединение медленное, оно обрывается. Но мне также нужно иметь возможность скачивать файлы при более медленном соединении ...
РЕДАКТИРОВАТЬ2: отслеживая журналы в реальном времени, я получил [КРИТИЧЕСКИЙ] ТАЙМАУТ РАБОТНИКА (pid: 18). Это связано с nginx?