versión nginx 1.18.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.18.0, que absorbió los cambios acumulados dentro de la rama principal 1.17.x. En el futuro, todos los cambios en la rama estable 1.18 estarán relacionados con la eliminación de errores y vulnerabilidades graves. Pronto se formará la rama principal de nginx 1.19, 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.

De acuerdo con informe de abril Netcraft nginx se utiliza en el 19.56% de todos los sitios activos (hace un año el 20.73%, hace dos años el 21.02%), lo que corresponde al segundo lugar en popularidad en esta categoría (la participación de Apache corresponde al 27.64%, Google al 10.03%, Microsoft IIS - 4.77%) . Al mismo tiempo, considerando todos los sitios, nginx mantiene su liderazgo y ocupa el 36.91% del mercado (hace un año el 27.52%), mientras que la participación de Apache corresponde al 24.73%, Microsoft IIS - 12.85%, Google - 3.42%.

Entre el millón de sitios más visitados del mundo, la participación de nginx es del 25.54% (hace un año el 26.22%, hace dos años el 23.76%). Actualmente, alrededor de 459 millones de sitios web ejecutan Nginx (397 millones hace un año). Por Según W3Techs nginx se utiliza en el 31.9% de los sitios entre el millón de más visitados; en abril del año pasado esta cifra era del 41.8%, el año anterior, del 38% (la disminución se explica por la transición a la contabilidad separada del servidor http de Cloudflare). La participación de Apache cayó durante el año del 43.6% al 38.9%, y la participación de Microsoft IIS del 8.6% al 8.3%. En Rusia nginx utilizado en el 78.9% de los sitios más visitados (hace un año, 81%).

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

  • Directiva añadida limit_req_dry_run, que activa el modo de ejecución de prueba, en el que no se aplican restricciones en la intensidad del procesamiento de solicitudes (sin límite de velocidad), pero continúa teniendo en cuenta la cantidad de solicitudes que exceden los límites en la memoria compartida;
  • Directiva añadida limit_conn_dry_run, que cambia el módulo ngx_http_limit_conn_module al modo de ejecución de prueba, en el que el número de conexiones no está limitado, pero se tiene en cuenta;
  • Directiva agregada "auth_delay", que le permite agregar un retraso a las solicitudes no autorizadas con un código de respuesta 401 para reducir la intensidad de la adivinación de contraseñas y proteger contra ataques, manipular la medición del tiempo de ejecución de las operaciones (ataque de sincronización) al acceder a sistemas cuyo acceso es limitado contraseña, resultado de una subconsulta o JWT (Token web JSON);
  • Se agregó soporte para variables en las directivas "limit_rate" y "limit_rate_after", así como en las directivas "proxy_upload_rate" y "proxy_download_rate" del módulo de transmisión;
  • en la directiva grpc_pass Se agregó soporte para el uso de una variable en un parámetro que define una dirección. Si la dirección se especifica como un nombre de dominio, el nombre se busca entre los grupos de servidores descritos y, si no se encuentra, se determina mediante un solucionador;
  • Nuevas variables agregadas $proxy_protocol_server_addr и $proxy_protocol_server_port, que contienen la dirección del servidor y el puerto obtenidos del encabezado del protocolo PROXY;
  • en el modulo ngx_stream_limit_conn_module variable agregada $limit_conn_status, que almacena el resultado de limitar el número de conexiones: PASSED, REJECTED o REJECTED_DRY_RUN;
  • en el modulo ngx_http_limit_req_módulo variable agregada $limit_req_status, que almacena el resultado de limitar la tasa de llegada de solicitudes: PASSED, DELAYED, REJECTED, DELAYED_DRY_RUN o REJECTED_DRY_RUN;
  • Por defecto, el módulo está ensamblado ngx_http_postpone_filter_module;
  • Se agregó soporte para alternar bloques de "ubicación" con nombre usando el método $r->internal_redirect() proporcionado por el intérprete de Perl integrado. Este método ahora implica procesar URI con caracteres de escape;
  • Cuando se utiliza la directiva "upstream" en el bloque de configuración "upstream"hachís» para organizar el equilibrio de carga con enlace cliente-servidor, si especifica un valor de clave vacío, ahora se activa el modo de equilibrio uniforme (round-robin);
  • Se agregó soporte para llamar a ioctl(FIONREAD) si está disponible para evitar leer desde una conexión rápida con el tiempo.

Fuente: opennet.ru

Añadir un comentario