versión nginx 1.16.0

Después de un año de desarrollo representado nueva rama estable de servidor HTTP de alto rendimiento y servidor proxy multiprotocolo nginx 1.16.0, que absorbió los cambios acumulados dentro de la rama principal 1.15.x. En el futuro, todos los cambios en la rama estable 1.16 estarán relacionados con la eliminación de errores y vulnerabilidades graves. Pronto se formará la rama principal de nginx 1.17, dentro de la cual continuará el desarrollo de nuevas funciones. Para usuarios normales que no tienen la tarea de garantizar la compatibilidad con módulos de terceros, recomendado utilice la rama principal, sobre la base de la cual se forman los lanzamientos del producto comercial Nginx Plus cada tres meses.

Las mejoras más notables agregadas durante el desarrollo de la rama ascendente 1.15.x:

  • Se agregó la capacidad de usar variables en 'directivasssl_certificate' y 'ssl_certificate_key', que se puede utilizar para cargar certificados dinámicamente;
  • Se agregó la capacidad de cargar certificados SSL y claves secretas desde variables sin utilizar archivos intermedios;
  • En el bloque "río arriba» nueva directiva implementada «azar“, con la ayuda del cual se puede organizar el equilibrio de carga con una selección aleatoria de un servidor para reenviar la conexión;
  • en el modulo ngx_stream_ssl_preread variable implementada $ssl_preread_protocol,
    que especifica la versión más alta del protocolo SSL/TLS que admite el cliente. La variable permite crear configuraciones para acceder utilizando varios protocolos con y sin SSL a través de un puerto de red al enviar tráfico mediante proxy utilizando los módulos http y stream. Por ejemplo, para organizar el acceso a través de SSH y HTTPS a través de un puerto, el puerto 443 se puede reenviar de forma predeterminada a SSH, pero si se define la versión SSL, se puede reenviar a HTTPS.

  • Se ha agregado una nueva variable al módulo ascendente "$upstream_bytes_sent", que muestra el número de bytes transferidos al servidor del grupo;
  • Al módulo stream dentro de una sesión, se agregó la capacidad de procesar varios datagramas UDP entrantes del cliente;
  • La directiva "solicitudes_proxy", especifica el número de datagramas recibidos del cliente, al alcanzar los cuales se elimina el vínculo entre el cliente y la sesión UDP existente. Después de recibir la cantidad especificada de datagramas, el siguiente datagrama recibido del mismo cliente comienza una nueva sesión;
  • La directiva de escucha ahora tiene la capacidad de especificar rangos de puertos;
  • Directiva agregada "ssl_early_data» para habilitar el modo 0-RTT cuando se utiliza TLSv1.3, que le permite guardar los parámetros de conexión TLS negociados previamente y reducir la cantidad de RTT a 2 al reanudar una conexión establecida previamente;
  • Se han agregado nuevas directivas para configurar keepalive para conexiones salientes (habilitando o deshabilitando la opción SO_KEEPALIVE para sockets):

    • «proxy_socket_keepalive" - configura el comportamiento "TCP keepalive" para conexiones salientes al servidor proxy;
    • «fastcgi_socket_keepalive" - configura el comportamiento "TCP keepalive" para conexiones salientes al servidor FastCGI;
    • «grpc_socket_keepalive" - configura el comportamiento "TCP keepalive" para conexiones salientes al servidor gRPC;
    • «memcached_socket_keepalive" - configura el comportamiento "TCP keepalive" para conexiones salientes al servidor Memcached;
    • «scgi_socket_keepalive" - configura el comportamiento "TCP keepalive" para conexiones salientes al servidor SCGI;
    • «uwsgi_socket_keepalive": configura el comportamiento "TCP keepalive" para conexiones salientes al servidor uwsgi.
  • En la directiva "límite_req" se agregó un nuevo parámetro "retraso", que establece un límite después del cual se retrasan las solicitudes redundantes;
  • Se agregaron nuevas directivas “keepalive_timeout” y “keepalive_requests” al bloque “upstream” para establecer límites para Keepalive;
  • La directiva "ssl" ha quedado obsoleta y ha sido reemplazada por el parámetro "ssl" en la directiva "listen". Los certificados SSL faltantes ahora se detectan en la etapa de prueba de configuración cuando se usa la directiva "escuchar" con el parámetro "ssl" en la configuración;
  • Cuando se utiliza la directiva reset_timedout_connection, las conexiones ahora se cierran con un código 444 cuando expira el tiempo de espera;
  • Los errores de SSL "solicitud http", "solicitud de proxy https", "protocolo no compatible" y "versión demasiado baja" ahora se muestran en el registro con el nivel "info" en lugar de "crit";
  • Se agregó soporte para el método de encuesta en sistemas Windows cuando se usa Windows Vista y versiones posteriores;
  • Posibilidad de utilizar TLSv1.3 al compilar con la biblioteca BoringSSL, no solo con OpenSSL.

Fuente: opennet.ru

Añadir un comentario