Upgraded versions of nginx 1.25.5 and fork FreeNginx 1.26.0

Formed upstream release nginx 1.25.5, within which the development of new capabilities continues. The parallel-maintained stable branch 1.24.x contains only changes related to the elimination of serious bugs and vulnerabilities. In the future, based on the main branch 1.25.x, a stable branch 1.26 will be formed. The project code is written in C and distributed by under BSD license.

Among changes:

Advertisement

  • To module stream added support for 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; }
  • New module added ngx_stream_pass_moduledesigned to forward received connections directly to any listening socket associated with 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; } }
  • In the directive listen The stream module now supports the parameters “deferred” (enables deferred accept), “accept_filter” (incoming connection filter applied before calling the accept function) and “setfib” (setting the routing table).
  • For some architectures, support has been implemented for determining the block size (cache line) used to transfer data between the CPU cache and memory.
  • On Apple Silicon systems, support for the Homebrew package manager has been added.
  • Cross-compilation issues for Windows have been resolved.
  • Fixed a bug that caused connections to be closed when using 0-RTT mode in the QUIC protocol.

Additionally, you can note the publication of a stable version of the project FreeNginx 1.26.0, developing a fork of Nginx. The fork is being developed by Maxim Dunin, one of the key Nginx developers. FreeNginx is positioned as a non-profit project that provides development of the Nginx code base without corporate interference. Release 1.26.0 is marked as a stable release, incorporating changes and fixes from the releases of 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 I/O processing.

Simultaneously took place release njs 0.8.4, a JavaScript interpreter for the nginx web server. The njs interpreter implements ECMAScript standards and allows you to expand nginx's ability to process requests using scripts in the configuration. Scripts can be used in a configuration file to define advanced logic for processing requests, generating a configuration, dynamically generating a response, modifying a request/response, or quickly creating stubs to solve problems in web applications. In the new version: support for the QuickJS JavaScript engine has been added to the CLI; added the ability to set the Server header; Implemented a check for duplication of variables set via js_set.

Thanks for reading:

Advertisement