OpenResty® 通过 Lua 扩展 NGINX 实现的可伸缩的 Web 平台

OpenResty XRay

Advanced observability built for OpenResty and more

×

limited time offer

Request TRIAL today and receive a diagnostic REPORT
Learn more

OpenResty 1.29.2.1 正式发布

lijunlong , 04 Mar 2026 (created 04 Jan 2026)

我们荣幸地宣布,基于 NGINX 和 LuaJIT 的 OpenResty Web 平台 1.29.2.1 版本现已正式发布。

点击此处下载

下载页面提供了可移植的源代码分发包、Win32/Win64 二进制分发包,以及为 Ubuntu、Debian、Fedora、CentOS、RHEL、OpenSUSE、Amazon Linux 等系统预编译的二进制软件包。

版本亮点

  • Nginx 核心

    • 从 nginx 1.27.1 升级至 1.29.2。
  • OpenSSL

    • 从 3.4.1 版本升级至 3.5.5 版本。
  • PCRE

    • 从 10.44 版本升级至 10.47 版本。
  • lua-nginx-module

    • 新增:ngx_http_lua_ffi_ssl_get_client_hello_ext_present() 函数。
    • 新增:用于绕过 HTTP 条件请求检查的函数。
    • 新增:lua_ssl_key_log 指令。
    • 新增:ngx_http_lua_ffi_req_shared_ssl_ciphers() 函数。
    • 新增:sock:getfd() 方法。
    • 新增:导出三个用于操作 ngx_http_lua_co_ctx_t 结构体的函数。
    • 新增:ngx_http_lua_ffi_ssl_get_client_hello_ciphers() 函数。
    • 新增:proxy_ssl_verify_by_lua 指令。
    • 新增:支持 TCP 绑定到 ip:port 或 IPv4/IPv6 地址。
  • stream-lua-nginx-module

    • 新增:lua_ssl_key_log 指令,用于在 tcpsock:sslhandshake 方法中记录客户端连接的 SSL 密钥。密钥将以 Wireshark 兼容的 SSLKEYLOGFILE 格式进行记录。
    • 新增:为 stream 子系统添加 ngx_stream_lua_ffi_get_req_ssl_pointer() 函数。
    • 新增:ngx_stream_lua_ffi_req_dst_addr() 函数。
    • 新增:对 TCP/UDP 绑定的支持。
    • 新增:ngx_stream_lua_ffi_req_shared_ssl_ciphers() 函数。
    • 新增:proxy_ssl_verify_by_lua 指令。
  • lua-resty-core

    • 新增:为 stream 子系统添加绑定支持。
    • 新增:向 ngx.resp 添加 bypass_if_checks 方法。
    • 新增:为 stream 子系统添加 get_req_ssl_pointer() 方法。
    • 新增:ngx.req.get_original_addr 方法。
    • 新增:sock:getfd() 方法。
    • 新增:为 stream 子系统添加 ssl.get_shared_ssl_ciphers 方法。
    • 新增:对 ssl.get_req_shared_ssl_ciphers() 的支持。
    • 新增:get_client_hello_ciphers() 方法。
    • 新增:proxy_ssl_verify_by_lua 指令。
    • 新增:get_client_hello_ext_present 方法。
  • luajit2 luajit2

    • ARM64: 修复按值传递结构体的调用约定。
    • ARM: 修复软浮点 math.min()/math.max() 的问题。
    • FFI: 修复悬空的 CType 引用。
    • FFI: 新增预声明的 int128_tuint128_t__int128 类型。
    • 修复: 为 fp:seek() 的参数增加对字符串的兼容性强制转换。
    • 修复: load* 中的错误生成问题。
    • 修复向上递归期间的 JIT slot 溢出问题。
    • 修复在错误处理过程中的错误报告问题。
    • 修复对新创建缓冲区的 io.write() 调用。
    • 修复模板表中 nil 值标记的处理问题。
    • 修复:commit 538a82133adtable.clone 无法正常工作的问题。
    • 修复:避免在 trace flush 后重复移除字节码补丁。
    • 修复:避免在从快照恢复时,因堆栈溢出错误导致程序计数器(PC)越界。
    • 修改模板表中 nil 值标记的处理方式。
    • 新增 GNU/Hurd 构建支持。
  • lua-resty-redis

    • 修复:blpopbrpop 调用超时后导致连接关闭的问题。
    • 文档:修复 README.markdown 中的一处拼写错误。
    • 优化:setmetatable 的返回值为 NYI (Not Yet Implemented),导致无法进行 JIT 编译。
  • headers-more-nginx-module

    • 修复:未将输出 header 的 next 指针设置为 NULL 的问题。
    • 文档:将 LICENSE 内容移动到独立文件中。
  • lua-resty-mysql

    • 修复:mysql 驱动未能正确处理服务器端查询超时(“Query execution was interrupted”)的问题。

完整更新日志

相较于上一个正式版本 1.27.1.2,您可以在 1.29.2.x 更新日志 页面浏览完整的变更记录。

测试

我们在 Amazon EC2 测试集群上进行了广泛的测试,确保所有组件(包括 Nginx 核心)都能协同稳定运行。最新的测试报告可随时在此处查阅:

https://qa.openresty.org/

此外,我们自己的全球 CDN 网络(我们称之为“迷你 CDN”)也始终基于最新开源版本的 OpenResty 来运行我们的 OpenResty Edge 商业软件,为 openresty.orgopenresty.com 网站提供动力。更多详情请访问 https://openresty.com/。

社区支持

请访问社区页面

商业支持

我们通过官方的 OpenResty XRay 产品,提供商业技术支持以及实时、非侵入式的在线监控和性能剖析解决方案。

反馈

我们欢迎任何关于此版本的反馈。您可以在 GitHub issues 创建新的 issue,或发送邮件到我们的邮件列表

更多有趣的文章