New versions nginx 1.25.5 and the FreeNginx fork 1.26.0

The main branch release of nginx 1.25.5 has been formed, continuing the development of new features. In the parallel stable branch 1.24.x, only changes related to fixing serious bugs and vulnerabilities are made. In the future, a stable branch 1.26 will be formed based on the main branch 1.25.x. The project code is written in C and is distributed under the BSD license.

Among the changes:

  • Support for the stream module has been added of virtual servers, the configuration of which is defined in the "server { … }" block using the server_name directive. server { server_name ~^(www\.)?(.+)$; proxy_pass www.$2:12345; }
  • A new module ngx_stream_pass_module has been added, designed to pass accepted connections directly to any listening socket related to modules such as http, stream, and mail. stream { server { listen 12345 ssl; ssl_certificate domain.crt; ssl_certificate_key domain.key; pass 127.0.0.1:8000; } }
  • Support for the parameters "deferred" (enables deferred accept), "accept_filter" (filter for incoming connections applied before the accept function is called), and "setfib" (specifies the routing table) has been implemented in the listen directive of the stream module.
  • Support for determining the block size (cache line) used for data transmission between the CPU cache and memory has been implemented for some architectures.
  • Support for the Homebrew package manager has been added on Apple Silicon systems.
  • Issues with cross-compilation for Windows have been resolved.
  • A bug that caused connections to close when using 0-RTT mode in the QUIC protocol has been fixed.

Additionally, the stable version of the FreeNginx 1.26.0 project, a fork of Nginx, has been released. The fork is being developed by Maxim Dunin, one of the key developers of Nginx. FreeNginx is positioned as a non-commercial project, ensuring the development of the Nginx codebase without corporate interference. The release 1.26.0 is marked as a stable release, incorporating changes and fixes from the mainline branch of Nginx 1.25. Among other things, FreeNginx 1.26.0 includes experimental support for the HTTP/3 protocol, improvements to counter DoS attacks, and fixes related to asynchronous input/output processing.

At the same time, the release of njs 0.8.4, a JavaScript language interpreter for web servers nginx, has taken place. The njs interpreter implements ECMAScript standards and allows for the extension of nginx's capabilities in request handling through scripts in the configuration. Scripts can be used in the configuration file to define extended request processing logic, build configurations, dynamically generate responses, modify requests/responses, or quickly create stubs to troubleshoot issues in web applications. In the new version, support for the QuickJS JavaScript engine has been added in CLI; the ability to set the Server header has been introduced; and a check for duplicate variables set via js_set has been implemented.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster