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 + 客户端证书的业务场景
  • 对邮件模块有编码规范要求的部署
相关推荐
习惯就好zz12 小时前
在安卓设备上测试 AWS S3 下载速度的完整指南
android·aws·速度测试
Evan芙1 天前
搭建nexus服务,实现本地仓库、代理仓库
java·nginx·tomcat
秋田君1 天前
前端工程化部署入门:Windows + Nginx 实现多项目独立托管与跨域解决方案
前端·windows·nginx
Evan芙1 天前
nginx核心配置总结,并实现nginx多虚拟主机
运维·数据库·nginx
邂逅星河浪漫1 天前
【域名解析+反向代理】配置与实现(步骤)-SwitchHosts-Nginx
linux·nginx·反向代理·域名解析·switchhosts
sg_knight1 天前
Nuxt 4 生产环境部署指南 (Node.js + Nginx)
运维·nginx·node.js·nuxt·ssr
中年程序员一枚1 天前
Nginx配置运行python的uvicorn项目
chrome·python·nginx
我是小邵1 天前
“域名托管”和“SSL 证书缺失”是什么关系?
网络·网络协议·ssl
苹果醋31 天前
Java设计模式实战:从面向对象原则到架构设计的最佳实践
java·运维·spring boot·mysql·nginx
元气满满-樱1 天前
Nginx负载均衡
运维·nginx·负载均衡