fastcgi_connect_timeout

Задаёт таймаут для попыток установления соединения с сервером FastCGI. — NGINX HTTP Core

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

Описание

Директива `fastcgi_connect_timeout` задаёт максимальное время, в течение которого NGINX будет ожидать установления соединения с сервером FastCGI до того, как запрос будет признан неудачным. Этот таймаут особенно важен, когда ваш сервер FastCGI находится под большой нагрузкой или медленно отвечает, поскольку он помогает предотвратить зависание NGINX при попытке установить соединение. Если соединение не удаётся установить в указанный промежуток времени, запрос будет прерван, и клиенту будет возвращена ошибка 504 Gateway Timeout. Эта директива устанавливается в контексте конфигурации `http`, `server` или `location`, что позволяет настраивать её глобально или конкретно для определённых блоков server или путей location. Значение `fastcgi_connect_timeout` задаётся в секундах и может быть положительным целым числом. Важно выбрать подходящее значение с учётом ожидаемого времени ответа вашего сервера FastCGI, чтобы оно не было слишком большим (что ведёт к ненужным задержкам) и не слишком маленьким (что вызывает преждевременные таймауты).

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

location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_connect_timeout 30s;
    include fastcgi_params;
}

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

Убедитесь, что другие настройки таймаутов (например, `fastcgi_read_timeout`) не конфликтуют с этой директивой.

Необходимо соблюдать ограничения контекста конфигурации; установка этой директивы вне допустимого контекста приведёт к ошибке.