基於 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 主頁:

https://openresty.org/

質量保證

我們在亞馬遜 EC2 測試叢集上進行了大量測試,並確保所有元件(包括 Nginx 核心)都能很好地協同工作。最新的測試報告可以在這裡找到:

https://qa.openresty.org/

商業版本

我們在自己的全球 CDN 網路(被稱為“迷你 CDN”)中執行基於最新開源版本的 OpenResty。這個網路為我們的 openresty.org 和 openresty.com 網站提供支援,同時也用於我們的商業軟體。如需瞭解更多詳情,請訪問 https://openresty.com.cn/。

反饋

歡迎為本版本提供反饋,可以在 GitHub issues 建立新 issue,或給我們傳送郵件。

公眾號

如果您喜歡我們的服務,請關注我們的微信公眾號以接受最新資訊。

我們的微信公眾號