As the most popular web server, Nginx’s latest update, version 1.26, introduces a host of improvements and new features that promise to enhance the functionality and security of web servers globally. Here they are.
Experimental HTTP/3 Support
Nginx now includes experimental support for HTTP/3, the next iteration of the HTTP protocol, known for its efficiency in handling connections more reliably and faster than its predecessors.
This update is particularly crucial as it addresses several bugs in the earlier implementations and adds new security measures to prevent issues like segmentation faults during specially crafted QUIC sessions.
Enhanced HTTP/2 Configuration
With an eye on flexibility, Nginx 1.26 allows HTTP/2 to be enabled on a per-server basis, moving away from a one-size-fits-all approach. This change allows users to optimize individual servers’ performance and security settings depending on their needs.
Notably, server push support for HTTP/2 has been removed to streamline the protocolโs functionality.
Virtual Servers in Stream Module
The introduction of virtual servers in the stream module marks a notable improvement. They allow for more granular traffic management and more efficient resource utilization.
This feature is complemented by the ngx_stream_pass_module, which enhances the capability of passing stream connections directly to listen sockets, thereby boosting handling efficiency and reducing latency.
Connection and Stream Handling Enhancements
Further enriching the server’s capabilities, the new version offers several parameters in the “listen” directive of the stream module, including “deferred,” “accept_filter,” and “setfib.” These additions give administrators more control over incoming connections, optimizing throughput and allocating resources.
Bug Fixes and Security Enhancements
Nginx 1.26 also addresses a range of bugs, including issues with QUIC’s 0-RTT connections, socket descriptor errors, and memory leaks during reconfiguration processes. Security has been bolstered with fixes to prevent crashes and data leaks, particularly when handling HTTP/3 connections.
For an in-depth overview of all changes, refer to the full changelog.