Few days ago the launch of the first version of the new main branch nginx 1.25, within which the development of new functionalities will continue.
For those who don't know about Nginx, you should know that is a lightweight web server/reverse proxy high performance and a proxy for email protocols (IMAP/POP3).
NGINX is a lightweight, high-performance web server that uses an event-based asynchronous architecture to handle many concurrent requests. It is designed to handle static and dynamic content, and can be used to serve web pages, streaming media, and API requests.
NGINX also supports dynamic modules, which allow users to add or remove features as needed. This makes it easy to customize NGINX for specific use cases.
Main news in nginx 1.25
The release of this new version is due to the fact that the addition of the ngx_http_v3 module with support was made experimental for the protocol HTTP / 3, although as such the module is disabled by default and for those who want to test the module they should know that the option “--with-http_v3_module» is enabled in the build.
For the module to work, it is recommended to build with cryptographic libraries that support the QUIC protocol, such as BoringSSL, LibreSSL or QuicTLS. Compiling with OpenSSL will use a compatibility layer that does not support sending client data early (ssl_early_data).
It is important to mention that to accept HTTP/3 connections over TLS requires support for the TLSv1.3 protocol, which is available since OpenSSL version 1.1.1.
For those who are unaware of the new HTTP/3 protocol, you should know that is defined by the use of the QUIC protocol (Quick UDP Internet Connections) as transport for HTTP/2. QUIC is a plugin to the UDP protocol that supports multiplexing of multiple connections and provides encryption methods equivalent to TLS/SSL. The protocol was created in 2013 by Google as an alternative to TCP + TLS for the Web, solving the problem of long connection setup and handshaking time in TCP and eliminating delays due to packet loss during data transfer. .
Regarding the development of the stable branch 1.24.x, this will still be kept in parallel and only changes related to the elimination of serious bugs and vulnerabilities are made, since the main attention will be focused on the development of the current branch and also on joining efforts for the stable branch 1.26 that will be formed from the main branch 1.25. xy which is expected to arrive next year.
Finally if you are interested in knowing more about it you can check the details In the following link.
For ordinary users who do not have the task of ensuring compatibility with third-party modules, it is recommended to use the main branch, based on which versions of the commercial product Nginx Plus are formed every three months.
Get nginx 1.25
For those interested in being able to obtain the new version, they must do the following, depending on the case of their distribution.
For RHEL and derivatives, you must add the repository with the following command:
sudo nano /etc/yum.repos.d/nginx.repo
And add this at the end
[nginx] name=nginx repo baseurl=https://nginx.org/packages/rhel/$releasever/$basearch/ gpgcheck=0 enabled=1
And we install with:
dnf install nginx
While for Ubuntu and derivatives of it, they must type the following:
sudo nano etc/apt/sources.list.d/nginx.list
And add this to the file:
deb https://nginx.org/packages/ubuntu/ $(lsb_release -sc) nginx deb-src https://nginx.org/packages/ubuntu/ $(lsb_release -sc) nginx
And we proceed to install with:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $key sudo apt update sudo apt install nginx
Now for the case of AmazonLinux 2023, they should type:
sudo yum install yum-utils
We add the following in /etc/yum.repos.d/nginx.repo with the following content:
[nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/amzn/2023/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true priority=9 [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/amzn/2023/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true priority=9
And we proceed to install with:
sudo yum instalar nginx
Finally, for those who prefer the compilation of the package, this can be done with the following commands (once already downloaded and being inside the code directory):
./configure make sudo make install