fastcgi_send_timeout

Устанавливает таймаут отправки ответов серверу FastCGI. — NGINX HTTP Core

fastcgi_send_timeout
httpserverlocation
Синтаксисfastcgi_send_timeout time;
По умолчанию60s
Контекстhttp, server, location
МодульNGINX HTTP Core
Аргументы1

Описание

Директива `fastcgi_send_timeout` задает максимальное время, в течение которого NGINX будет ждать ответа от сервера FastCGI. Если это время превысит предел, NGINX завершит соединение с сервером FastCGI и вернет клиенту ошибку. Значение указывается в миллисекундах и помогает предотвратить задержки, вызванные неотзывчивыми приложениями FastCGI. Директиву можно устанавливать на уровнях блоков `http`, `server` или `location`, что обеспечивает гибкую конфигурацию в зависимости от конкретного случая использования. При настройке `fastcgi_send_timeout` важно выбрать подходящее значение, исходя из ожидаемого времени ответа вашего FastCGI-бэкенда. Слишком короткий таймаут может приводить к необоснованным ошибкам для обычных запросов, тогда как слишком длинный — задерживать обработку неотзывчивых запросов. Поведение директивы можно дополнительно уточнить, используя ее совместно с другими директивами, такими как `fastcgi_read_timeout` и `fastcgi_buffering`, что эффективно контролирует как обработку ответов, так и стратегию таймаутов.

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

location /app {
    include fastcgi_params;
    fastcgi_pass backend;
    fastcgi_send_timeout 30s;
}

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

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