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.3 已发布。
最新! OpenResty 1.27.1.2 已发布。
最新! 新博客文章 OpenResty XRay 26.2.1 版正式发布 已发表。
最新! 新博客文章 OpenResty Edge 客户端真实 IP 全链路传递指南 已发表。
最新! 新博客文章 OpenResty XRay 是什么 已发表。

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,或发送邮件到我们的邮件列表