nginx 1.29.2 发布:AWS-LC 帮助、QUIC及SSL优化等重要更新

在这里插入图片描述

2025年10月7日,nginx 1.29.2主线版本正式发布。本次更新在功能增强、BUG 修复、兼容性优化等方面都有重要改动,尤其在 QUIC 协议承受、SSL/TLS 处理,以及 AWS-LC 兼容性等领域进行了完善。以下为本版本的详细更新内容。


一、主要功能更新

  1. 承受 AWS-LC 构建

    • 现在 nginx 可以采用 AWS-LC 库来编译构建,提升在特定环境下的性能与安全性。
  2. SNI(Server Name Indication)优化

    • 新增基于 ClientHello 回调的 SNI 处理机制,支持早期回调机制并兼容 BoringSSL。
    • 增加 ngx_ssl_set_client_hello_callback 接口,用于在握手初期进行域名匹配与证书选择。

二、关键 BUG 修复

  1. ssl_protocols 作用域修复

    • 修复默认虚拟主机之外的服务器在使用 OpenSSL 1.1.1 及以上版本时,ssl_protocols 指令不生效的问题。
  2. TLSv1.3 + 客户端证书 + SNI 会话恢复失败问题

    • 在使用 TLSv1.3 + 客户端证书时,如果恢复的会话 SNI 不同,会导致握手失败的疑问,此 BUG 出现于 1.27.4,本次已修复。
  3. QUIC 协议 ssl_reject_handshake 错误信息问题

    • 当使用 QUIC 并启用 ssl_reject_handshake 指令时,日志可能出现 ignoring stale global SSL error,此问题在 1.29.0 引入,本次已修复。
  4. Cache-Control delta-seconds 溢出检测

    • 修复后端响应头中 "Cache-Control"delta-seconds 参数处理的溢出检测问题。
  5. Mail 模块 XCLIENT 字符串编码困难

    • XCLIENT 命令增加 xtext 编码支持,符合 RFC 3461 规范。
  6. SSL 证书缓存继承疑问

    • 修复证书缓存继承过程中出现的 "key values mismatch" 错误,保障证书与私钥匹配一致性。

三、配置与默认行为调整

  1. 移除默认配置中的 legacy charset 指令

    • conf/nginx.conf 默认配置示例中删除过时的 charset koi8-r 指令。
  2. 更新 xslscript 链接

    • 文档构建工具 xslscript 链接更新为 https://github.com/nginx/xslscript

四、QUIC 协议相关改进

  1. 本地化 QUIC OpenSSL 头文件引用

    • 在 QUIC 保护中本地化 OpenSSL 头文件的引用,提升代码可移植性。
  2. BoringSSL API 差异化宏定义

    • 增加区分 BoringSSL 特定 EVP API 的宏定义,减少不同库之间的兼容问题。
  3. AWS-LC QUIC 兼容性

    • 适配 AWS-LC 对 QUIC 的协助,与 OpenSSL/BoringSSL 保持一致 API 调用。

五、F5 CLA 工作流新增

  • .github/workflows 中新增了 F5 CLA 工作流,自动检测提交者是否签署贡献者许可协议(CLA),保障开源贡献的法律合规性。

六、版本信息

  • 版本号1.29.2
  • 发布时间:2025-10-07
  • 上一版本:1.29.1(2025-08-13)

七、总结

nginx 1.29.2 在保障安全性和兼容性方面迈出了重要一步。该版本不仅扩展了构建支持 AWS-LC 库的新能力,还优化了 QUIC 协议和 SSL/TLS 在多种环境下的表现。对于使用 TLSv1.3 与 SNI 的用户,本次更新能显著缓解握手失败问题。同时,Mail 模块与 Cache-Control 头处理的修复,也提升了在邮件系统及缓存控制中的稳定性。

本次升级建议以下用户优先考虑:

  • 使用 QUIC 的站点
  • 依赖 AWS-LC 或 BoringSSL 构建的部署环境
  • 使用 SNI + TLSv1.3 + 客户端证书的业务场景
  • 对邮件模块有编码规范要求的部署

posted on 2025-11-08 17:12  slgkaifa  阅读(0)  评论(0)    收藏  举报

导航