proxy_socket_keepalive

`proxy_socket_keepalive` 指令用于启用或禁用对代理服务器连接使用 keepalive。 — NGINX HTTP Core

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

说明

`proxy_socket_keepalive` 指令控制在 NGINX 中是否应为与代理服务器的连接启用 keepalive。当设置为 `on` 时,NGINX 会与 upstream 建立并保持持久连接以供重用,这可以显著减少为客户端后续请求建立新连接所带来的延迟。这对于访问 upstream 流量较高的环境尤其有益,因为它可以帮助降低资源使用并改善响应时间。 该指令可在 `http`、`server` 或 `location` 上下文中指定,允许根据希望的 keepalive 连接作用范围进行灵活配置。默认情况下,该指令为 `off`,这意味着除非显式启用,否则 NGINX 不会使用 keepalive 连接。启用 keepalive 还可以与如 `proxy_pass` 的其他指令协同工作,实现无缝集成而无需大量配置变更。 在使用 `proxy_socket_keepalive` 时,还应考虑 upstream 服务器端的设置,因为如果 upstream 不支持 keepalive 连接或其超时时间短于 NGINX,可能无法获得预期的性能提升。

配置示例

http {
    server {
        location / {
            proxy_pass http://backend;
            proxy_socket_keepalive on;
        }
    }
}

确保上游服务器已配置为支持 keepalive 连接。

如果处理不当,过度设置 keepalive 可能导致服务器端资源耗尽。