versión nginx 1.18.0

Despois dun ano de desenvolvemento presentado nova rama estable de servidor HTTP de alto rendemento e servidor proxy multiprotocolo nginx 1.18.0, que absorbeu os cambios acumulados dentro da rama principal 1.17.x. No futuro, todos os cambios na rama estable 1.18 estarán relacionados coa eliminación de erros graves e vulnerabilidades. En breve formarase a rama principal de nginx 1.19, dentro da cal continuará o desenvolvemento de novas funcións. Para os usuarios comúns que non teñen a tarefa de garantir a compatibilidade con módulos de terceiros, recomendado use a rama principal, a partir da cal se forman lanzamentos do produto comercial Nginx Plus cada tres meses.

Segundo Informe de abril Netcraft nginx úsase no 19.56% de todos os sitios activos (hai un ano 20.73%, hai dous anos 21.02%), o que corresponde ao segundo lugar en popularidade nesta categoría (a cota de Apache corresponde ao 27.64%, Google - 10.03%, Microsoft IIS - 4.77%). Ao mesmo tempo, ao considerar todos os sitios, nginx mantén o seu liderado e ocupa o 36.91% do mercado (hai un ano 27.52%), mentres que a cota de Apache corresponde ao 24.73%, Microsoft IIS - 12.85%, Google - 3.42%.

Entre os millóns de sitios máis visitados do mundo, a cota de nginx é do 25.54% (hai un ano o 26.22%, hai dous anos o 23.76%). Actualmente, preto de 459 millóns de sitios web están executando Nginx (397 millóns hai un ano). Por dado W3Techs nginx utilízase no 31.9% dos sitios do millón máis visitados, en abril do ano pasado esta cifra foi do 41.8%, o ano anterior - 38% (o descenso explícase pola transición á contabilidade separada do servidor http de Cloudflare). A cota de Apache caeu ao longo do ano do 43.6% ao 38.9% e a de Microsoft IIS do 8.6% ao 8.3%. En Rusia nginx se usa no 78.9% dos sitios máis visitados (hai un ano - 81%).

As melloras máis notables engadidas durante o desenvolvemento da rama anterior 1.17.x:

  • Directiva engadida limit_req_dry_run, que activa o modo de execución de proba, no que non se aplican restricións á intensidade do procesamento de solicitudes (sen límite de taxa), pero segue tendo en conta o número de solicitudes que superan os límites na memoria compartida;
  • Directiva engadida limit_conn_dry_run, que cambia o módulo ngx_http_limit_conn_module ao modo de execución de proba, no que o número de conexións non está limitado, senón que se ten en conta;
  • Directiva engadida "atraso_auth", que lle permite engadir un atraso ás solicitudes non autorizadas cun código de resposta de 401 para reducir a intensidade da adiviñación do contrasinal e protexer contra ataques, manipulando a medición do tempo de execución das operacións (ataque temporal) ao acceder a sistemas aos que o acceso está limitado contrasinal, resultado dunha subconsulta ou J.W.T. (Token web JSON);
  • Engadido soporte para variables nas directivas "limit_rate" e "limit_rate_after", así como nas directivas "proxy_upload_rate" e "proxy_download_rate" do módulo de fluxo;
  • Na directiva grpc_pass engadiuse soporte para usar unha variable nun parámetro que define un enderezo. Se o enderezo se especifica como nome de dominio, o nome búscase entre os grupos de servidores descritos e, se non se atopa, determínase mediante un resolver;
  • Novas variables engadidas $proxy_protocol_server_addr и $porto_servidor_de_protocolo_proxy, que conteñen o enderezo do servidor e o porto obtidos da cabeceira do protocolo PROXY;
  • No módulo ngx_stream_limit_conn_module variable engadida $limit_conn_status, que almacena o resultado da limitación do número de conexións: PASSED, REJECTED ou REJECTED_DRY_RUN;
  • No módulo ngx_http_limit_req_module variable engadida $limit_req_status, que almacena o resultado da limitación da taxa de chegada de solicitudes: PASSED, DELAYED, REJECTED, DELAYED_DRY_RUN ou REJECTED_DRY_RUN;
  • Por defecto, o módulo está montado ngx_http_postpone_filter_module;
  • Engadido soporte para alternar bloques denominados "localización" usando o método $r->internal_redirect() proporcionado polo intérprete de Perl integrado. Este método agora implica procesar URIs con caracteres escapados;
  • Cando se utiliza a directiva "upstream" no bloque de configuración "upstream".de hash» para organizar o equilibrio de carga coa vinculación cliente-servidor, se especifica un valor de chave baleiro, agora está activado o modo de equilibrio uniforme (round-robin);
  • Engadiuse compatibilidade para chamar a ioctl(FIONREAD) se está dispoñible para evitar a lectura dunha conexión rápida ao longo do tempo.

Fonte: opennet.ru

Engadir un comentario