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 + 客户端证书的业务场景
  • 对邮件模块有编码规范要求的部署
相关推荐
qq_339191147 小时前
aws ec服务器设置密码登录,ec服务器root登录 aws服务器初始化配置
服务器·github·aws
王道长AWS_服务器7 小时前
AWS Route 53:DNS 不止能解析,还能做全球流量调度
后端·aws
金色天际线-8 小时前
nginx + spring cloud + redis + mysql + ELFK 部署
redis·nginx·spring cloud
帅帅梓21 小时前
nginx访问控制 用户认证 https
运维·nginx·https
有谁看见我的剑了?1 天前
k8s ingress-nginx 学习
学习·nginx·kubernetes
moxiaoran57531 天前
nginx中proxy_pass配置
运维·服务器·nginx
IT成长日记2 天前
【Nginx开荒攻略】Nginx虚拟主机配置:从域名、端口到IP的完整指南
linux·运维·服务器·nginx·虚拟主机
西贝爱学习2 天前
【软件】nginx-1.28.0安装包(Windows版)
运维·nginx
zrande2 天前
Nginx 负载均衡通用方案
nginx·负载均衡