proxy_ignore_client_abort

配置在处理代理请求时是否忽略客户端中断。 — NGINX HTTP Core

proxy_ignore_client_abort
httpserverlocation
语法proxy_ignore_client_abort on | off;
默认值off
上下文http, server, location
模块NGINX HTTP Core
参数flag

说明

`proxy_ignore_client_abort` 指令控制在客户端在服务器完成处理请求之前断开连接时 NGINX 如何处理这类情形。当设置为 'on' 时,NGINX 会继续处理该请求,仿佛客户端仍然保持连接,这可能使服务器端处理得以不被中断地完成。在服务器上有长时间运行操作且不希望因客户端操作而被过早终止的环境中,这会很有用。相反,将其设置为 'off' 则指示 NGINX 在客户端断开时停止处理该请求,这可以节省服务器资源并避免在客户端无法接收响应时进行不必要的处理。 此指令可以应用于 `http`、`server` 和 `location` 上下文,从而在配置层级的不同级别上灵活地影响请求处理。其行为由其参数决定,该参数可以是一个标志 —— 通常为 'on' 或 'off'。用户应注意该设置如何影响资源使用,尤其是在高负载场景中,大量处理可能会分配给未完成的请求。

配置示例

server {
    listen 80;
    location /long-processing {
        proxy_pass http://backend;
        proxy_ignore_client_abort on;
    }
}

如果许多客户端断开连接,将此指令设置为 'on' 可能导致服务器资源浪费。

请务必评估在高负载环境中让长时间运行的进程继续运行的影响。