Как увеличить время ожидания для NGINX? - PullRequest
0 голосов
/ 18 февраля 2019

Я использую Python, Flask, uWSGI и NGINX для размещения веб-сервера.Одна из функций включает в себя создание файла для пользователя, который может занять до минуты или двух.На это действие я продолжаю получать тайм-аут 504 от NGINX.Я попытался изменить некоторые переменные конфигурации в /etc/nginx/nginx.conf, например keepalive_timeout, но это не сработало. Я также попытался добавить следующее к /etc/nginx/conf.d/timeout.conf:

proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;

, а затем перезагрузил systemctl reload nginx но это ничего не изменило.

Как мне увеличить время ожидания запроса?Спасибо за любую помощь

Ответы [ 2 ]

0 голосов
/ 18 февраля 2019
server {

        server_name                     yourhost;
        client_max_body_size            5M;

        location / {
                proxy_http_version      1.1;
                proxy_set_header        Host $host;
                proxy_set_header        Upgrade $http_upgrade;
                proxy_set_header        Connection "upgrade";
                proxy_set_header        X-Real-IP       $remote_addr;
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

                proxy_pass              http://127.0.0.1:8080; # depending on your network conf

        }
}
0 голосов
/ 18 февраля 2019

Я столкнулся с той же проблемой .. Я нашел обходной путь, говорящий nginx, чтобы он принимал определенное количество данных по умолчанию.Не пытаясь управлять самим таймаутом, но изменяя количество данных, принятых в транзакции, добились цели.

 server {

        client_max_body_size            5M; # or more ^^

}

, но на самом деле это не безопасный вариант ... он работает, но будьте осторожны при этом.

более того, если вы используете шлюз WSGI с обратным прокси-сервером (например, Php) .. механизм нижнего уровня может иметь приоритет над этим

...