Se ha formado el lanzamiento de la rama principal de nginx 1.23.1, en el cual se continúa el desarrollo de nuevas funcionalidades. En la rama estable paralelamente mantenida 1.22.x, solo se incorporan cambios relacionados con la eliminación de errores graves y vulnerabilidades. El próximo año se generará una rama estable 1.24 basada en la rama principal 1.23.x.
Entre los cambios:
- Se ha optimizado el consumo de memoria en configuraciones con proxy. SSL.
- Se ha añadido el parámetro «ipv4=off» a la directiva «resolver», que permite desactivar la búsqueda de direcciones IPv4 al transformar nombres y direcciones.
- El nivel de logs para errores SSL «bad key share», «bad extension», «bad cipher» y «bad ecpoint» se ha reducido de crítico a informativo.
- Se ha corregido un error por el cual, al devolver rangos, nginx no eliminaba la cabecera «Content-Range» si estaba presente en la respuesta original del backend.
- Se ha solucionado un error que provocaba que la respuesta proxy pudiera enviarse incompleta durante la reconfiguración en Linux.
Simultáneamente, se ha lanzado njs 0.7.6, un intérprete del lenguaje JavaScript para de un servidor web nginx. El intérprete njs implementa estándares ECMAScript y permite ampliar las capacidades de nginx para manejar solicitudes mediante scripts en la configuración. Los scripts pueden utilizarse en el archivo de configuración para definir lógica de procesamiento de solicitudes avanzada, generación de configuraciones, generación dinámica de respuestas, modificación de solicitudes/respuestas o rápida creación de simulaciones para resolver problemas en aplicaciones web.
En la nueva versión, se han ampliado las capacidades del objeto r.args{}: se ha añadido soporte para especificar varios argumentos para una clave y separación de claves según la sensibilidad a mayúsculas. Se han implementado los métodos Symbol.for(), Symbol.keyfor(), atob() y btoa().
Fuente: opennet.ru
