OpenResty 1.31.8.1 正式发布
基于 NGINX 和 LuaJIT 的 OpenResty 网络平台 1.31.8.1 正式版已经正式发布。您可以查看完整的发布说明。
本次发布提供了可移植的源代码发布版,以及 Ubuntu、Debian、Fedora、CentOS、RHEL、OpenSUSE、Amazon Linux 等 Linux 发行版的预编译二进制包。您可以通过此链接下载软件包。
特别感谢我们所有的开发人员和贡献者!感谢 OpenResty Inc. 赞助了大量 OpenResty 核心开发工作。
重点变更
此版本的亮点包括
- Nginx 核心:从 nginx 1.31.1 升级至 1.31.8
- OpenSSL:从 3.5.6 版本升级至 3.5.9 版本
- PCRE2:从 10.47 版本升级至 10.49 版本
- lua-nginx-module(升级至 v0.10.32rc7)
- 支持压缩通过
ssl_certificate_by_lua*设置的证书 - 修复
balancer_by_lua*重试计数回绕导致的无限重试问题 - 修复使用
proxy_bind时 balancer keepalive 连接无法复用的问题 - 修复
ngx.flush()缓冲区仍在队列中时被回收的问题 - 修复
lua_code_cache off时server_rewrite_by_lua*误用全局 VM 的问题 - 修复
sslhandshake握手立即完成时丢失证书校验错误的问题 - 修复 HTTP/2 出错时 Lua 子请求的唤醒问题
- 修复
receiveuntil迭代器、客户端 CA 名称列表、worker thread 等相关的多个内存安全问题
- 支持压缩通过
- stream-lua-nginx-module(升级至 v0.0.20rc3)
- 修复
receiveuntil迭代器被 GC 后的 use-after-free 问题 - 修复终止 uthread 时未清理子协程操作的问题
- 修复错误结束请求前未输出已缓冲数据的问题
- 修复
- lua-resty-core(升级至 v0.1.35rc2)
- 新增
ngx.ssl.compress_certs() - 修复 stream cosocket
getsslctx()绑定到错误 FFI 符号的问题 - 修复
sslhandshake错误处理及多个 FFI 正确性问题
- 新增
- LuaJIT(升级至 v2.1-20261023)
- 从 v3.0 回移植部分语法扩展,允许在任意位置使用空语句(分号)
- 支持 JIT 编译
unpack(),优化string.sub/string.byte的单字符常见场景 - x64、ARM64、PPC、s390x、macOS、iOS、Windows 等平台的多项修复与优化
- 修复性能分析器(profiler)相关的竞态与锁问题
- FFI 多项 ABI 与调用约定修复
- lua-resty-redis(升级至 v0.34)
connect()新增db、password、username、tcp_keepalive选项hmget()支持传入 table- 修复事务状态及模块命令参数相关问题
- lua-resty-openssl(升级至 v1.9.0)
- 支持 OpenSSL 4.0
- 新增后量子密钥操作支持
- 其他组件升级
- lua-cjson 升级至 v2.1.0.20,新增对编码后对象键排序的选项
- lua-resty-string 升级至 v0.19,新增
md5.final_hex()方法 - resty-cli 升级至 v0.36,
resty新增--no-clean选项,退出时保留临时 nginx prefix 目录 - lua-resty-websocket 升级至 v0.16,加强握手校验与帧解析,支持继续接收不完整的帧
- encrypted-session-nginx-module 升级至 v0.10,改为常量时间 MAC 比较
- lua-resty-dns 升级至 v0.24,拒绝不完整的 DNS 资源记录
- lua-resty-mysql 升级至 v0.31,修复 caching_sha2 认证中密码扰码的索引错误
- ngx_devel_kit 升级至 v0.3.6,支持 nginx 1.31.3 的复杂值(complex value)
- opm 升级至 v0.0.12
- set-misc-nginx-module 升级至 v0.34
- lua-resty-upstream-healthcheck 升级至 v0.10
- drizzle-nginx-module 升级至 v0.1.14
- lua-resty-memcached 升级至 v0.18
- ngx_postgres 升级至 v1.1
- headers-more-nginx-module 升级至 v0.40
- lua-resty-signal 升级至 v0.05
- echo-nginx-module 升级至 v0.65
- srcache-nginx-module 升级至 v0.34
- memc-nginx-module 升级至 v0.21
安全修复
本版本同步了 Nginx 1.31.2~1.31.8 期间的 12 项 CVE 修复,按首次修复的 Nginx 版本列出:
- 1.31.2
- HTTP/3 释放后使用(CVE-2026-42530)
- 代理至 HTTP/2/gRPC 上游时的缓冲区溢出(CVE-2026-42055)
- 字符集转换越界读取(CVE-2026-48142)
- 1.31.3
- map/正则相关缓冲区溢出(CVE-2026-42533)
- slice/后台缓存更新相关的未初始化内存访问,可能导致内存信息泄露(CVE-2026-60005)
- SSI 释放后使用(CVE-2026-56434)
- 1.31.6
- 使用 OpenSSL 3.5.0 及更早版本时,特定配置下的 HTTP/3 堆缓冲区溢出(CVE-2026-90439)
- 1.31.7
- alias/rewrite 缓冲区溢出(CVE-2026-15176)
- 变量表达式求值缓冲区溢出(CVE-2026-93479)
- HTTP/3 请求体注入(CVE-2026-95101)
- TLS 会话票据相关会话伪造(CVE-2026-97629)
- AIO/SSI 释放后使用(CVE-2026-97205)
各漏洞的详细说明请参阅 Nginx 官方安全公告。
完整更改日志
完整的变更列表、HTML 版本的变更日志、及其他超链接请参阅完整的发布说明。
官网
OpenResty 是一个开源的 Web 平台,它将增强版的 Nginx 内核与 LuaJIT 集成在一起,由 OpenResty Inc. 维护。它还集成了大量的第三方 Nginx 模块和 Lua 库,以及它们的大部分外部依赖,是一个完整而强大的网络解决方案。详细信息请访问 OpenResty 主页:
质量保证
我们在亚马逊 EC2 测试集群上进行了大量测试,并确保所有组件(包括 Nginx 内核)都能很好地协同工作。最新的测试报告可以在这里找到:
商业版本
我们在自己的全球 CDN 网络(被称为“迷你 CDN”)中运行基于最新开源版本的 OpenResty。这个网络为我们的 openresty.org 和 openresty.com 网站提供支持,同时也用于我们的商业软件。如需了解更多详情,请访问 https://openresty.com.cn/。
反馈
欢迎为本版本提供反馈,可以在 GitHub issues 创建新 issue,或给我们发送邮件。
公众号
如果您喜欢我们的服务,请关注我们的微信公众号以接受最新信息。












