fastcgi_ignore_client_abort

fastcgi_ignore_client_abort 指令用于控制 NGINX 在处理 FastCGI 请求时是否应忽略客户端断开连接。 — NGINX HTTP Core

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

说明

`fastcgi_ignore_client_abort` 指令是 NGINX 中的一个配置选项,用于管理通过 FastCGI 接口处理的请求的行为。启用时(设置为 'on'),即使发起请求的客户端在响应完全发送之前断开连接,NGINX 仍会继续处理来自后端 FastCGI 服务器的响应。相反,如果将该指令设置为 'off',当客户端断开连接时 NGINX 将终止 FastCGI 请求;在需要优先考虑资源节约的某些用例中,这一点尤为重要。该指令可用于控制在客户端可能放弃请求的情况下资源如何被使用,从而有可能减少正在进行的后端处理带来的成本。 需要注意的是,如果您有预期即使在客户端断开后仍需完成的长时间运行的 FastCGI 请求,启用此指令可能会有利。但在响应是动态生成并且与客户端会话相关的场景中,保留默认值(off)可能更为谨慎,以避免不必要的处理和资源分配。此指令可以在 `http`、`server` 或 `location` 上下文中设置,从而决定客户端断开连接行为的作用范围。

配置示例

location /api {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_ignore_client_abort on;
}

将该指令设置为 'on' 可能会导致资源浪费:如果客户端断开连接,NGINX 仍会继续处理可能已不再相关的请求。

请务必仔细评估何时使用 'on',因为在高负载下这可能会对性能产生影响。