nginx 1.29.4 主分支已发布,新功能的开发仍在继续。同时,稳定分支 1.28.x 也已支持,仅进行了与消除严重错误和漏洞相关的更改。未来,稳定分支 1.29 将基于主分支 1.30.x 构建。该项目代码使用 C 语言编写,并遵循 BSD 许可证发布。
在新版本中:
- ngx_http_proxy 模块现在支持 HTTP/2 协议,允许您在访问后端时使用 HTTP/2。
- 新增对 ECH(加密 ClientHello)TLS 扩展的支持。ECH 是 ESNI(加密服务器名称指示)扩展的升级版,用于加密 TLS 会话参数信息,例如请求的域名。ECH 与 ESNI 的主要区别在于,ECH 加密的是整个 ClientHello TLS 消息,而不是单个字段。这有助于防止通过 ESNI 未覆盖的字段(例如 PSK(预共享密钥)字段)泄露信息。要启用 ECH,需要在 PEM 格式的 ECHConfig 配置文件中指定“ssl_ech_file”指令。使用带有 ECH 的 OpenSSL 版本时,即可获得支持。
- 请求文本中的主机和端口检查规则、“Host”标头和“:authority”伪标头已根据 RFC 3986 的要求进行了调整。
- 现在,在分块请求或响应正文中将单个换行符指定为终止序列将被视为错误。
- 修复了使用 OpenSSL 3.5.1+ 和 HTTP/3 时发生的崩溃问题。
- 修复了同时指定 try_files 和 proxy_pass 指令以及 URI 时可能发生的崩溃问题。
来源: opennet.ru
