Se ha publicado la rama principal de nginx 1.29.4, donde continúa el desarrollo de nuevas funcionalidades. Paralelamente, se ofrece soporte para la rama estable 1.28.x; solo se realizan cambios relacionados con la corrección de errores y vulnerabilidades graves. En el futuro, la rama estable 1.29 se basará en la rama principal 1.30.x. El código del proyecto está escrito en C y se distribuye bajo la licencia BSD.
En el nuevo lanzamiento:
- El módulo ngx_http_proxy ahora admite el protocolo HTTP/2, lo que le permite utilizar HTTP/2 al acceder a los backends.
- Se agregó compatibilidad con la extensión TLS ECH (Encrypted ClientHello), una evolución de la extensión ESNI (Encrypted Server Name Indication), utilizada para cifrar la información de los parámetros de sesión TLS, como el nombre de dominio solicitado. La principal diferencia entre ECH y ESNI radica en que ECH cifra todo el mensaje TLS ClientHello en lugar de cifrar campos individuales. Esto ayuda a evitar fugas a través de campos no cubiertos por ESNI, como el campo PSK (Pre-Shared Key). ECH se habilita especificando la directiva "ssl_ech_file" en el archivo de configuración ECHConfig en formato PEM. La compatibilidad está disponible al usar compilaciones OpenSSL con ECH.
- Las reglas para verificar el host y el puerto en el texto de la solicitud, el encabezado "Host" y el pseudoencabezado ":authority" se han ajustado a los requisitos del RFC 3986.
- Ahora, especificar un solo carácter de nueva línea como secuencia de terminación en solicitudes fragmentadas o en el cuerpo de la respuesta se trata como un error.
- Se solucionó un fallo al usar HTTP/3 con OpenSSL 3.5.1+.
- Se solucionó un fallo que podía ocurrir cuando las directivas try_files y proxy_pass se especificaban simultáneamente con una URI.
Fuente: opennet.ru
