lingering_close

指令 `lingering_close` 在 NGINX 中为 HTTP 连接启用或禁用延迟关闭。 — NGINX HTTP Core

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

说明

NGINX 中的 `lingering_close` 指令控制客户端连接的延迟关闭行为。当设置为 'on' 时,它允许连接在客户端发送请求后在指定时间内保持打开,为客户端在连接完全关闭前读取剩余数据提供机会。这对于处理慢速客户端或可能不会及时读取全部数据的客户端尤其有用,从而防止潜在的数据丢失。当设置为 'off' 时,NGINX 会在发送响应后立即关闭连接而不等待客户端,这可以在高流量场景下提升服务器性能,但有丢失未被读取数据的风险。 该指令接受单个参数,可以是 'on' 或 'off'。在 'on' 状态下,NGINX 会执行延迟关闭,允许连接保持打开。若指令设置为 'off',则延迟关闭功能被禁用,连接会立即关闭。该指令可用于多个上下文,包括 http、server 和 location,从而为不同的应用需求提供灵活性。在进行性能微调时,NGINX 管理员可以利用此指令根据具体用例和客户端行为优化数据处理。

配置示例

server {
    listen 80;
    server_name example.com;
    lingering_close on;
}

将 lingering_close 设置为 'on' 在有过多慢速客户端时可能导致资源耗尽。

禁用 lingering_close 可能导致数据丢失,尤其是在客户端未完全读取响应时。