Tras 13 mois de desarrollo se dio a conocer la nueva rama estable del server HTTP de alto rendimiento and server proxy multiprotocolo nginx 1.22.0, que incorpora los cambios acumulados en la rama principal 1.21.x.
Dans le futur, todos los cambios en la rama estable 1.22 estarán relacionados con la eliminación de errores y tombes de vulnérabilité. Próximamente se formará la rama principal de nginx 1.23, en la que continuará el desarrollo de nuevas funciones.
Para los usuarios comunes que no tienen la tarea de garantir la compatibilité avec les modules de terceros, se recomienda utilizar la rama principal, en base a la cual se forman versiones del producto comercial Nginx Plus cada tres meses.
Principales nouveautés de nginx 1.22.0
En esta nouvelle version que se presenta de nginx 1.22.0 se destaca la protección mejorada contra ataques de class « Contrabando de sollicitudes HTTP » en sistemas front-end-backend que le permiten accéder al contentudes de las sollicitudes de otros usuarios procesadas en el mismo hilo entre el front-end y el back-end. Nginx ahora siempre devuelve un error al user el método CONNECT ; al especificar los encabezados simultanément « Content-Length » et « Transfer-Encoding » ; cuando hay espacios o caracteres de control en la cadena de consulta, el nombre del encabezado HTTP o el valor del encabezado « Host ».
Otra de las novedades que se destaca de esta nueva version es que se agregó soporte para variables a las directivas «proxy_ssl_certificate», «proxy_ssl_certificate_key», «grpc_ssl_certificate», «grpc_ssl_certificate_key», «uwsgi_ssl_certificate» et «uwsgi_ssl_certificate_key».
Ademas, tambien se destaca que se agregó prise en charge du mode « pipelining » para enviar múltiples sollicitudes POP3 o IMAP en la misma conexión al módulo de proxy de correo, así como una nueva directiva « max_errors » que especifica la cantidad máxima de errores de protocolo después de los cuales se cerrará la conexión.
Los encabezados « Auth-SSL-Protocol » et « Auth-SSL-Cipher » ne sont pas le service d’authentification du proxy de correo, ademas de que se agregó soporte para la extensión ALPN TLS al módulo de transmisión. Pour déterminer la liste des protocoles de prise en charge ALPN (h2, http/1.1), se propose la directive ssl_alpn et pour obtenir des informations sur le protocole ALPN acordé avec le client, la variable $ssl_alpn_protocol.
De los demás cambios que se destacan :
- Blocage des demandes HTTP/1.0 qui inclut l’encodage HTTP « Transfer-Encoding » (introduction dans la version du protocole HTTP/1.1).
- La plate-forme FreeBSD a amélioré la compatibilité avec le système sendfile, qui est distribué pour organiser un transfert direct de données entre un descripteur d’archives et un socket . Le modo sendfile(SF_NODISKIO) est autorisé en permanence et est agrégé pour le modo sendfile(SF_NOCACHE).
- Le paramètre « fastopen » est agrégé au module de transmission, ce qui habilite le mode « TCP Fast Open » pour les prises de courant.
- Se corrigió el escape de los caracteres «»», «<«, «>», « \ », « ^ », « ` », « {«, « | » et «}» al user el proxy con cambio de URI.
- Se ha añadido la directiva proxy_half_close al módulo stream , con la que se puede configurar el comportamiento cuando una conexión TCP proxy se cierra por uno de los lados (“TCP half-close”).
- Se connecte une nouvelle directiva mp4_start_key_frame au module ngx_http_mp4_module pour transmettre une transmission vidéo à partir d’un quart de tour.
- Se agregó la variable $ssl_curve para devolver el tipo de curva elíptica seleccionada para la negociación de claves en une session TLS.
- La directiva sendfile_max_chunk cambió el valor predeterminado a 2 megabytes;
- Compatibilité proportionnée avec la bibliothèque OpenSSL 3.0. Vous avez agrégé la prise en charge pour lancer SSL_sendfile() en utilisant OpenSSL 3.0.
- El ensamblaje con la biblioteca PCRE2 est habilitado de forma predeterminada y proporciona funciones para procesar expresiones regulares.
- Au chargement des certificats de service, il a ajusté l’utilisation des niveaux de sécurité admis par OpenSSL 1.1.0 et établi à travers le paramètre « @SECLEVEL=N » dans la directive ssl_ciphers.
- Se eliminó la compatibilidad con el paquete de cifrado de exportación.
- En la API de filtrage del cuerpo de la solicitud, se permite el almacenamiento en búfer de los datos procesados.
- Permet d’éliminer la compatibilité pour établir les connexions HTTP/2 avec l’extension NPN (Next Protocol Negotiation) en utilisant ALPN.
Enfin si estás interesado en poder conocer más al respectopuedes consultar los detalles en el siguiente enlace.