Django (uwsgi) + nginx выбрасывает 504 Gateway timeout через 120 секунд
Есть ли какая-нибудь настройка по умолчанию, которая будет возвращать этот таймаут через 2 минуты при ожидании ответа от представления Django (даже если представление содержит простое time.sleep(200)
) независимо от конфигурации моего nginx.
Я установил все таймауты, о которых я мог думать, на 300 с.
Выдержка из конфигурации nginx:
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
proxy_send_timeout 300s;
proxy_read_timeout 300s;
proxy_connect_timeout 75s;
##
# Virtual Host Configs
##
upstream uwsgi_upstream {
server localhost:8000;
}
server {
listen 80;
server_name {{ 'SERVER_NAME' | env }};
location / {
include uwsgi_params;
uwsgi_pass uwsgi_upstream;
uwsgi_read_timeout 300s;
uwsgi_send_timeout 300s;
# Match the upstream header buffer size to http setting
uwsgi_buffer_size 64k;
uwsgi_buffers 8 64k;
uwsgi_param HTTP_Host $http_host;
uwsgi_param HTTP_X_Real_IP $remote_addr;
uwsgi_param HTTP_X_Forwarded_For $proxy_add_x_forwarded_for;
uwsgi_param HTTP_X_Forwarded_Proto $scheme;
client_max_body_size 200M;
}
}
}