Lanzamiento de nginx 1.18.0

Después de un año de desarrollo se presenta nueva rama estable del servidor HTTP de alto rendimiento y proxy multilateral nginx 1.18.0, que incorpora los cambios acumulados en la rama principal 1.17.x. En adelante, todos los cambios en la rama estable 1.18 estarán relacionados con la corrección de errores graves y vulnerabilidades. En breve se formará la rama principal nginx 1.19, en la que se continuará desarrollando nuevas funcionalidades. Para los usuarios comunes, que no tienen la tarea de garantizar la compatibilidad con módulos de terceros, se recomienda se recomienda utilizar la rama principal, a partir de la cual se generan lanzamientos del producto comercial Nginx Plus cada tres meses.

De acuerdo con informe de abril la empresa Netcraft indica que nginx se utiliza en el 19.56% de todos los sitios web activos (hace un año era del 20.73%, hace dos años del 21.02%), lo que representa el segundo lugar en popularidad en esta categoría (la cuota de Apache es del 27.64%, Google — 10.03%, Microsoft IIS — 4.77%). Sin embargo, al considerar todos los sitios, nginx mantiene el liderazgo con una cuota de mercado del 36.91% (hace un año era del 27.52%), mientras que la cuota de Apache es del 24.73%, Microsoft IIS — 12.85%, Google — 3.42%.

Entre el millón de sitios más visitados en el mundo, la cuota de nginx es del 25.54% (hace un año era del 26.22%, hace dos años del 23.76%). Actualmente, alrededor de 459 millones de sitios funcionan bajo nginx (el año pasado eran 397 millones). Por los datos W3Techs, nginx se utiliza en el 31.9% de los sitios entre el millón de los más visitados, en abril del año pasado este número era del 41.8%, hace dos años — del 38% (la caída se explica por el cambio a un conteo separado del servidor http de Cloudflare). La cuota de Apache ha disminuido en el año del 43.6% al 38.9%, y la de Microsoft IIS del 8.6% al 8.3%. En Rusia, nginx se utiliza en el 78.9% de los sitios más visitados (hace un año era del 81%).

Las mejoras más notables añadidas en el proceso de formación de la rama principal 1.17.x:

  • Se ha añadido la directiva limit_req_dry_run, que activa el modo de prueba, en el que no se aplican restricciones sobre la intensidad del procesamiento de solicitudes (sin limitación de tasa), pero continúa el registro del número de solicitudes que exceden los límites en la memoria compartida;
  • Se ha añadido la directiva limit_conn_dry_run, que convierte el módulo ngx_http_limit_conn_module en un modo de prueba, en el que el número de conexiones no está limitado, pero se contabiliza;
  • Se ha añadido la directiva «auth_delay», que permite añadir un retraso a las solicitudes no autorizadas con código de respuesta 401 para reducir la intensidad de los intentos de adivinación de contraseñas y proteger contra ataques?, que manipulan la medición del tiempo de ejecución de las operaciones (ataque de tiempo) al acceder a sistemas cuyo acceso está restringido por contraseña, resultado de la subconsulta o JWT (JSON Web Token);
  • Se añadió 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 stream;
  • En la directiva grpc_pass se añadió soporte para el uso de una variable en el parámetro que define la dirección. Si la dirección se especifica en forma de nombre de dominio, se busca entre los grupos de servidores descritos, y si no se encuentra, se determina mediante el resolutor;
  • Se han añadido nuevas variables $proxy_protocol_server_addr y $proxy_protocol_server_port, que contienen la dirección y el puerto del servidor, obtenidos del encabezado del protocolo PROXY;
  • En el módulo ngx_stream_limit_conn_module se añadió la variable $limit_conn_status, que almacena el resultado de la limitación del número de conexiones: PASSED, REJECTED o REJECTED_DRY_RUN;
  • En el módulo ngx_http_limit_req_module se añadió la variable $limit_req_status, que almacena el resultado de la limitación de la velocidad de llegada de las solicitudes: PASSED, DELAYED, REJECTED, DELAYED_DRY_RUN o REJECTED_DRY_RUN;
  • La construcción del módulo está garantizada por defecto ngx_http_postpone_filter_module;
  • Se ha añadido soporte para cambiar bloques nombrados "location" mediante el método $r->internal_redirect(), proporcionado por el intérprete Perl integrado. Este método ahora implica el manejo de URI con caracteres escapados;
  • Al usar la directiva «hash» en el bloque de configuración «upstream» para organizar la distribución de carga atada al servidor, si se especifica un valor vacío para la clave, ahora se activa el modo de distribución uniforme (round-robin);
  • Se añadió soporte para la llamada ioctl(FIONREAD), si está disponible, para evitar la lectura de una conexión rápida durante un largo periodo de tiempo.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster