nginx 1.18.0 發布

經過一年的發展 提出了 高效能 HTTP 伺服器和多協定代理伺服器的新穩定分支 nginx 1.18.0,吸收了主分支 1.17.x 中累積的變化。 未來,穩定分支1.18中的所有變更都將與消除嚴重錯誤和漏洞有關。 nginx 1.19的主分支即將形成,新功能的開發將在其中繼續進行。 對於沒有確保與第三方模組相容的任務的普通用戶來說, 建議 使用主分支,在此基礎上每三個月形成一次商業產品 Nginx Plus 版本。

根據 四月報告 Netcraft nginx 在所有活躍站點中的使用率為19.56%(一年前為20.73%,兩年前為21.02%),相當於該類別中受歡迎程度的第二位(Apache 的份額相當於27.64%, Google 為10.03%,Microsoft IIS - 4.77%)。 同時,在考慮所有站點時,nginx 保持了領先地位,佔據了36.91% 的市場份額(一年前為27.52%),而Apache 的份額為24.73%,微軟IIS - 12.85%,Google- 3.42% 。

在全球訪問量最大的百萬個網站中,nginx 的份額為 25.54%(一年前為 26.22%,兩年前為 23.76%)。 目前,大約有 459 億個網站正在運行 Nginx(一年前為 397 億個)。 經過 根據 在訪問量最大的 3 萬個網站中,有 31.9% 使用了 W41.8Techs nginx,去年 38 月這一數字為 43.6%,前年為 38.9%(下降的原因是 Cloudflare http 伺服器轉向單獨核算)。 Apache 的份額在這一年從 8.6% 下降到 8.3%,微軟 IIS 的市佔率從 XNUMX% 下降到 XNUMX%。 在俄羅斯 nginx 使用 78.9% 的訪問量最大的網站(一年前為 81%)。

1.17.x 上游分支開發過程中添加的最顯著的改進:

  • 新增指令 limit_req_dry_run,啟動試運行模式,其中對請求處理的強度不施加任何限制(無速率限制),但繼續考慮超出共享記憶體限制的請求數量;
  • 新增指令 limit_conn_dry_run,將 ngx_http_limit_conn_module 模組切換到測試運行模式,其中連接數不受限制,但會被考慮;
  • 新增指令“授權延遲”,它允許您為回應代碼為 401 的未授權請求添加延遲,以降低密碼猜測的強度並防止 攻擊,在存取受限的系統時操縱操作執行時間的測量(定時攻擊) 密碼, 子查詢的結果智威湯遜 (JSON 網路令牌);
  • 新增了對「limit_rate」和「limit_rate_after」指令以及流模組的「proxy_upload_rate」和「proxy_download_rate」指令中變數的支援;
  • 在指令中 grpc_pass 新增了在定義位址的參數中使用變數的支援。 如果位址被指定為域名,則在所描述的伺服器群組中搜尋該名稱,如果未找到,則使用解析器確定;
  • 新增了新變數 $proxy_protocol_server_addr и $proxy_protocol_server_port,其中包含從PROXY協定頭取得的伺服器位址和連接埠;
  • 在模組中 ngx_stream_limit_conn_模塊 新增變數 $limit_conn_status,儲存限制連線數的結果:PASSED、REJECTED 或 REJECTED_DRY_RUN;
  • 在模組中 ngx_http_limit_req_module 新增變數 $limit_req_status,儲存限制請求到達速率的結果:PASSED、DELAYED、REJECTED、DELAYED_DRY_RUN 或 REJECTED_DRY_RUN;
  • 預設情況下,模組已組裝 ngx_http_postpone_filter_module;
  • 新增了使用內建 Perl 解譯器提供的 $r->internal_redirect() 方法切換命名「location」區塊的支援。 該方法現在涉及處理帶有轉義字元的 URI;
  • 在“upstream”設定區塊中使用“upstream”指令時哈希» 為了透過客戶端-伺服器綁定組織負載平衡,如果指定空鍵值,則現在啟動統一平衡模式(循環);
  • 新增了對呼叫 ioctl(FIONREAD) 的支援(如果可用)以避免隨著時間的推移從快速連接中讀取。

來源: opennet.ru

添加評論