proxy_send_timeout

Устанавливает таймаут передачи запроса проксируемому серверу в NGINX.

Синтаксисproxy_send_timeout time;
По умолчанию60s
Контекстhttp, server, location
Аргументы1

Описание

Директива proxy_send_timeout задаёт период времени, в течение которого NGINX будет пытаться отправить запрос проксируемому серверу. Этот таймаут критичен для управления тем, как долго NGINX будет ждать, пока сервер примет запрос, прежде чем произойдёт истечение времени. Если таймаут превышен, NGINX закроет соединение и зарегистрирует ошибку. Значение можно задать в разных форматах, например в секундах или с суффиксами времени (например, '30s' для 30 секунд).

Эта директива должна быть установлена в одном из трёх контекстов: http, server или location. Она обеспечивает тонкую настройку параметров таймаута, специфичных для проксируемых запросов, в соответствии с требованиями приложения. Настройка этого таймаута может быть необходима для приложений с переменным временем отклика либо при работе в сетях с высокой задержкой. Если отправка запроса на проксируемый сервер занимает слишком много времени и достигается порог proxy_send_timeout, NGINX зарегистрирует ошибку и вернёт клиенту ответ 502 Bad Gateway.

Значение proxy_send_timeout должно соответствовать ожидаемому поведению проксируемого приложения. Его следует задавать с учётом характеристик производительности приложения и ожидаемой нагрузки. Если установить слишком низкое значение, это может привести к ошибочному завершению легитимных запросов, тогда как чрезмерно большое значение может вызвать конкуренцию за ресурсы и повлиять на отзывчивость сервера.

Пример конфига

location /api {
    proxy_pass http://backend;
    proxy_send_timeout 30s;
}

Установка слишком малого таймаута может привести к преждевременным разрывам соединений и повышению числа ошибок.

Если не настроить эту директиву, по умолчанию будут использованы таймауты, которые могут не соответствовать требованиям приложения.

← Ко всем директивам