scgi_ignore_client_abort
Директива `scgi_ignore_client_abort` управляет тем, будет ли NGINX игнорировать события разрыва соединения клиента при обработке SCGI-запросов. — NGINX HTTP Core
Описание
Директива `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' может привести к лишней нагрузке на ваш бэкенд, если многие клиенты прерывают соединения.
Убедитесь, что бэкенд способен обрабатывать запросы без обратной связи от клиента, так как он может не справиться с неполными запросами.