scgi_read_timeout

Устанавливает таймаут чтения ответа от SCGI-сервера. — NGINX HTTP Core

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

Описание

`scgi_read_timeout` директива задаёт таймаут для чтения ответа от SCGI (Simplified Common Gateway Interface) сервера. Эта директива помогает избежать зависания соединений, когда бэкенд SCGI-сервер медленно отвечает или становится неотзывчивым, обеспечивая освобождение ресурсов, если сервер не отправляет данные в пределах указанного временного интервала. Период таймаута можно задать в секундах или с суффиксом `m` или `h`, обозначающим минуты или часы соответственно. Когда этот таймаут превышен, NGINX завершит соединение с SCGI-сервером и вернёт ошибку клиенту. Это особенно полезно в высокопроизводительных веб-приложениях, где критически важно поддерживать отзывчивость и ограничивать использование ресурсов. Правильная настройка этой директивы позволяет найти баланс между предоставлением достаточного времени на обработку для SCGI-сервера и минимизацией задержки запросов для конечных пользователей.

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

location /scgi {
    include fastcgi_params;
    scgi_pass 127.0.0.1:9000;
    scgi_read_timeout 30s;
}

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

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

Формат времени должен быть указан правильно, например, '30s' для 30 секунд.