资讯 Nginx 1.30.0 成为新 stable:proxy_http_version 默认 1.1,旧的 Connection 头模板可以删了

2026-09-19 21:02:11

Nginx 1.30.0 成为新 stable:proxy_http_version 默认 1.1,旧的 Connection 头模板可以删了

Nginx 1.30.0(2026-04-14)作为新的 stable 分支发布,整合了 1.29.x mainline 的特性:Early Hints、到后端的 HTTP/2、Encrypted ClientHello、upstream sticky sessions、Multipath TCP,以及默认代理 HTTP 版本改为 HTTP/1.1 并启用 keep-alive。

关键行为变更(1.29.7 起)

  • ngx_http_proxy_module 默认支持 keepalive
  • proxy_http_version 默认值改为 1.1
  • 默认不再发送 Connection 代理头

也就是说,以前这套模板现在多余了:

proxy_http_version 1.1;
proxy_set_header Connection "";

连同 upstream 里的 keepalive 一起,过去「显式设 proxy_http_version 1.1 + proxy_set_header Connection "" + upstream keepalive」的写法已经不需要。反过来,旧配置里如果硬写 Connection: close,反而可能出问题。

各版本新增

  • 1.29.6:upstream 的 sticky session,sticky 指令,server 支持 routedrain 参数。此前仅 Nginx Plus 有,现已开源。
  • 1.29.7:Multipath TCP(listenmultipath 参数);keepalive 指令的 local 参数。
  • 1.29.8:新增 max_headers 指令;OpenSSL 4.0 兼容;geo 块内 include 支持通配符。

安全修复(1.29.7)

  • ngx_http_dav_module COPY/MOVE 缓冲区溢出:CVE-2026-27654
  • ngx_http_mp4_module 溢出:CVE-2026-27784、CVE-2026-32647
  • mail 认证:CVE-2026-27651、CVE-2026-28753
  • stream OCSP 结果绕过:CVE-2026-28755

mainline 1.31.x 的变化

从 1.31.0/1.31.1 起,nginx 拒绝带 Connection / Proxy-Connection / Keep-Alive / Transfer-Encoding / Upgrade 头的 HTTP/2、HTTP/3 请求,以及 TEtrailers 值。后续修复包括 rewrite_module 重叠捕获堆溢出(CVE-2026-9256)、proxy_set_body 注入(CVE-2026-42926)等。

sticky 模块可用 --without-http_upstream_sticky_module 关闭。

来源:nginx.org/en/CHANGESblog.nginx.org

复制全文 生成海报 Nginx 反向代理 运维 HTTP

推荐文章

程序员茄子在线接单