scgi_ignore_client_abort

Директива `scgi_ignore_client_abort` управляет тем, будет ли NGINX игнорировать события разрыва соединения клиента при обработке SCGI-запросов. — NGINX HTTP Core

scgi_ignore_client_abort
httpserverlocation
Синтаксисscgi_ignore_client_abort on | off;
По умолчаниюoff
Контекстhttp, server, location
МодульNGINX HTTP Core
Аргументыflag

Описание

Директива `scgi_ignore_client_abort` используется в конфигурации NGINX для задания поведения сервера в случае, когда соединение клиента разрывается во время обработки запроса, направленного к SCGI-бэкенду. При установке в 'on' NGINX продолжит обработку запроса и отправку ответа бэкенду, даже если клиент отключился. Это может быть полезно в сценариях, когда обработка на бэкенде не должна зависеть от незаинтересованного клиента, что позволяет более эффективно использовать ресурсы бэкенд-сервера. При установке в 'off' NGINX прекратит обработку запроса при обнаружении разрыва соединения клиентом, что может снизить потребление ресурсов, но привести к неполной обработке на бэкенде в случаях преждевременного отключения клиента. Директива принимает один аргумент, либо 'on', либо 'off', что позволяет пользователям легко переключать это поведение. Ее можно разместить в контексте 'http', 'server' или 'location', обеспечивая гибкость в зависимости от требуемой области конфигурации. Важно оценить взаимодействие этой директивы с другими настройками в вашей конфигурации NGINX, особенно с теми, которые касаются обработки запросов и управления ответами бэкенда.

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

server {
    listen 80;
    location /scgi {
        scgi_pass backend;
        scgi_ignore_client_abort on;
    }
}

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

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