Отключить его может быть невозможно, но возможный обходной путь - увеличить время выполнения. На учебном сайте nginx было написано:
Если вы хотите увеличить лимит времени для всех сайтов на своем сервере, вы можно редактировать основной файл
nginx.conf
:
vim /etc/nginx/nginx.conf
Добавить следующее в http {..} раздел
http {
fastcgi_read_timeout 300;
proxy_read_timeout 300;
}
и перезагрузить конфигурацию nginx:
sudo service nginx reload
Я использовал довольно большое значение, которое вряд ли произойдет , то есть 999999
или с использованием единиц времени , до одного дня через 1d
.
Помните, что установка значения на 0
приведет к ошибка тайм-аута шлюза немедленно.
Возможно увеличить тайм-аут для nginx, добавить к ответу @k0pernikus, следующее может быть добавлено к Вашему блоку местоположения:
location /xyz {
proxy_read_timeout 1800;
proxy_connect_timeout 1800;
proxy_send_timeout 1800;
send_timeout 1800;
}
Здесь 1800 находится в секундах.
После изменения конфигурации, проверьте синтаксис с:
nginx -t -c /some/path/nginx.conf
Затем перезагрузка nginx с:
nginx -s reload
Я боролся с ошибкой тайм-аута nginx 502 и не смог решить проблему. Однако ошибка тайм-аута была вызвана пулеметом. Так что вам также может потребоваться проверить настройки fastcgi.
Для gunicorn это:
gunicorn wsgi:application --timeout 300
Если вы используете AWS и Load Balancer, вам следует отредактировать тайм-аут простоя. Я думаю, по умолчанию 60 секунд