經過13個月的開發 新的穩定分支發布 高性能HTTP服務器和多協議代理服務器 nginx 1.22.0, 它包含了 1.21.x 主分支中累積的更改。
將來, 1.22 stable 分支中的所有更改都將與調試相關 和嚴重的漏洞。 nginx 1.23的主分支即將形成,新特性的開發將在其中繼續。
對於沒有保證與第三方模塊兼容任務的普通用戶,建議使用主分支,根據每三個月形成的商業產品Nginx Plus的版本。
nginx 1.22.0 中的主要新聞
在這個新版本的 nginx 1.22.0 中, 針對 HTTP 請求走私類攻擊的增強保護 在前端-後端系統中,允許您訪問在前端和後端之間的同一線程中處理的其他用戶請求的內容。 Nginx 現在在使用 CONNECT 方法時總是返回錯誤; 通過同時指定“Content-Length”和“Transfer-Encoding”標頭; 當查詢字符串、HTTP 標頭名稱或“主機”標頭值中有空格或控製字符時。
在這個新版本中脫穎而出的另一個新奇之處是 增加了對指令變量的支持 “proxy_ssl_certificate”、“proxy_ssl_certificate_key”、“grpc_ssl_certificate”、“grpc_ssl_certificate_key”、“uwsgi_ssl_certificate”和“uwsgi_ssl_certificate_key”。
此外,還注意到它已添加 支持“流水線”模式 在同一連接上向郵件代理模塊發送多個 POP3 或 IMAP 請求,以及一個新的“max_errors”指令,該指令指定協議錯誤的最大數量,在此之後連接將被關閉。
標頭 “Auth-SSL-Protocol”和“Auth-SSL-Cipher”傳遞給郵件代理認證服務器, 此外,傳輸模塊中添加了對 ALPN TLS 擴展的支持。 為了確定支持的 ALPN 協議列表(h2、http/1.1),建議使用 ssl_alpn 指令,並獲取與客戶端同意的 ALPN 協議的信息,變量 $ssl_alpn_protocol。
其他變化 脫穎而出:
- 阻止包含“Transfer-Encoding”HTTP 標頭的 HTTP/1.0 請求(在 HTTP/1.1 協議版本中引入)。
- FreeBSD 平台改進了對 sendfile 系統調用的支持,該系統調用旨在協調文件描述符和套接字之間的直接數據傳輸。 sendfile(SF_NODISKIO) 模式已永久啟用,並添加了對 sendfile(SF_NOCACHE) 模式的支持。
- “fastopen”參數已添加到傳輸模塊,它啟用“TCP 快速打開”模式以偵聽套接字。
- 修復了字符“””、“<”、“>”、“\”、“^”、“`”、“{”、“|”的轉義和“}”在使用帶有 URI 更改的代理時。
- proxy_half_close 指令已添加到流模塊中,可以配置代理 TCP 連接在一側關閉時的行為(“TCP 半關閉”)。
- 向 ngx_http_mp4_module 模塊添加了新的 mp4_start_key_frame 指令,以從關鍵幀流式傳輸視頻。
- 添加了 $ssl_curve 變量以返回為 TLS 會話中的密鑰協商選擇的橢圓曲線類型。
- sendfile_max_chunk 指令將默認值更改為 2 兆字節;
- OpenSSL 3.0 庫提供的支持。 添加了對使用 OpenSSL 3.0 時調用 SSL_sendfile() 的支持。
- 默認情況下啟用與 PCRE2 庫的組裝,並提供處理正則表達式的功能。
- 加載服務器證書時,已調整自 OpenSSL 1.1.0 以來支持並通過 ssl_ciphers 指令中的“@SECLEVEL=N”參數設置的安全級別的使用。
- 刪除了導出密碼套件支持。
- 在請求體過濾 API 中,允許緩衝處理過的數據。
- 刪除了對使用下一個協議協商 (NPN) 擴展而不是 ALPN 建立 HTTP/2 連接的支持。
終於 如果您有興趣了解更多信息,您可以查看詳細信息 在下面的鏈接中。