nginx 1.24.0 ya fue liberado y estas son sus novedades
Tras 11 meses de desarrollo, se dio a conocer el lanzamiento de la nueva rama estable del servidor HTTP de alto rendimiento y servidor proxy multiprotocolo nginx 1.24.0, que incorpora los cambios acumulados en la rama principal 1.23.x.
En el futuro, todos los cambios en la rama estable 1.24 estarán relacionados con la eliminación de errores y vulnerabilidades graves. Próximamente, se formará la rama principal de nginx 1.25, en la que continuará el desarrollo de nuevas funcionalidades.
Según el informe de marzo de Netcraft, nginx se utiliza en el 18,94 % de todos los sitios activos (20,08 % hace un año, 20,15 % hace dos años), que es el segundo sitio más popular en esta categoría (la participación de Apache corresponde al 20,52 % (22,58 % hace un año, dos plataformas basada en nginx y LuaJIT) – 7,94% (8,01%).
Principales novedades de nginx 1.24.0
En esta nueva versión que se presenta de nginx 1.24.0 el protocolo TLSv1.3 está habilitado de forma predeterminada y es que incluye muchas mejoras de seguridad y desempeño, ademas de que ayuda a acelerar las conexiones encriptadas incluso aún más con opciones tales como TLS false start y Zero Round Trip Time (0RTT).
Otro de los cambios que se destaca de la nueva versión, es que se proporcionó una rotación automática de claves de cifrado para tickets TLS de sesión, que se utilizan cuando se usa memoria compartida en la directiva ssl_session_cache.
En Windows, se agregó compatibilidad con caracteres que no son ASCII en los nombres de archivo a los módulos ngx_http_autoindex_module y ngx_http_dav_module, así como a la directiva incluye. En Windows, nginx también está construido con OpenSSL 3.0.
De los demás cambios que se destacan de nginx 1.24.0:
- Se agregó soporte para las variables «$proxy_protocol_tlv_* «, que almacenan los valores de los campos TLV (Type-Length-Value) que aparecen en el protocolo PROXY v2 Type-Length-Value .
- Se agregó soporte para rangos de bytes al módulo ngx_http_gzip_static_module.
- Se agregó el parámetro «ipv4=off» a la directiva «resolver», que le permite deshabilitar la búsqueda de direcciones IPv4 al resolver nombres y direcciones.
- API interna rediseñada, las líneas de encabezado ahora se pasan en forma de lista enlazada.
- Proporcionó concatenación de cadenas de encabezado con nombres idénticos cuando se pasaron a backends FastCGI, SCGI y uwsgi, en el método $r->header_in() de ngx_http_perl_module y en las variables «$http_…», «$sent_http_…» , «$sent_trailer_ …», «$upstream_http_…» y «$upstream_trailer_…».
- Proporcionó una advertencia en caso de anular la configuración de los protocolos utilizados para el socket de escucha.
- El nivel de registro de muchos errores de SSL se ha degradado de Crítico a Informativo.
- Consumo de memoria optimizado en configuraciones con proxy SSL.
- Cambio: el nivel de registro de «data length too long», «length too short», «bad legacy version», «no shared signature algorithms», «bad digest length», «missing sigalgs extension», «encrypted length too long», «bad length», «bad key update», «mixed handshake and non handshake data», «ccs received early», «data between ccs and finished», «packet length too long», «too many warn alerts», «record too small», and «got a fin before a ccs».
Finalmente si estás interesado en poder conocer más al respecto puedes consultar los detalles en el siguiente enlace.
Para los usuarios comunes que no tienen la tarea de garantizar la compatibilidad con módulos de terceros, se recomienda utilizar la rama principal, en base a la cual se forman versiones del producto comercial Nginx Plus cada tres meses.
Obtener nginx 1.24.0
Para los interesados en poder obtener la nueva versión, deben realizar lo siguiente, según sea el caso de su distribucion.
Para RHEL y derivados, deben de añadir el repositorio con el siguiente comando:
sudo nano /etc/yum.repos.d/nginx.repo
Y añaden esto al final
[nginx] name=nginx repo baseurl=https://nginx.org/packages/rhel/$releasever/$basearch/ gpgcheck=0 enabled=1
E instalamos con:
dnf install nginx
Mientras que para Ubuntu y derivados de este, deben teclear lo siguiente:
sudo nano etc/apt/sources.list.d/nginx.list
Y añadir esto al archivo:
deb https://nginx.org/packages/ubuntu/ $(lsb_release -sc) nginx deb-src https://nginx.org/packages/ubuntu/ $(lsb_release -sc) nginx
Y procedemos a instalar con:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $key sudo apt update sudo apt install nginx
Finalmente para quienes prefieren la compilacion del paquete, esta la pueden hacer con los siguientes comandos (una vez ya descargado y estando dentro del directorio del codigo):
./configure make sudo make install