nginx 1.29.7起默认使用http/1.1与上游服务器保持持久连接,无需再配置proxy_http_version 1.1和proxy_set_header connection "";若需降级至http/1.0,可显式设置proxy_http_version 1.0及connection close;keepalive指令新增local参数以明确控制连接是否在位置间共享。

在1.29.7版本之前,NGINX默认使用HTTP/1.0连接到HTTP上游服务器。该协议的旧版本不具备HTTP持久连接(通常称为“保持生命”)的能力。
保持活力可以减少握手次数,减少延迟 为大多数常规网页应用程序缩短首次字节使用时间。按顺序 启用 HTTP/1.1 并打开上游的“保持”行为 服务器和操作人员在配置中添加了多个指令 文件。在许多情况下,这被遗忘了,网络的多个部分 应用程序最终工作速度比预期更慢。
常用的配置片段:
proxy_http_version 1.1; proxy_set_header Connection "";
使用 2026 年 3 月发布的 1.29.7 版本,我们将 HTTP 代理的默认行为更改为在 keep-alive 中使用 HTTP/1.1。
上述配置线路现在不再需要了。
将上游连接降级至 HTTP/1.0
如果您的后端服务器特别需要 HTTP/1.0,则可以使用 遵循相关位置上下文中的配置行:
proxy_http_version 1.0; proxy_set_header Connection "Close";
新的保持性指令参数“本地”
当同一上游区块被引用到多个位置时,或 服务器块,来自这些不同位置的请求可能是 通过与上游的单个TCP连接进行复用。
此行为由该值的“局部”参数控制“local”keepalive上游环境中的“保持指令”。
由于与之前的 NGINX 版本具有向上兼容性,因此默认 此参数的行为并不明显。请仔细阅读 遵循三种选项:
1、不存在固定指令时的默认行为:缓存的上游连接不会在位置之间共享。
2、当保留指令不存在“本地”参数时的行为:缓存的上游连接在位置之间共享。此行为与之前版本的 NGINX 一致:
upstream your-upstream-name {
keepalive 32;
....
}
3、当“局部”参数包含保持指令时的行为:这是最明确的设置,结果可预测。
upstream your-upstream-name {
keepalive 32 local;
....
}










