nginx 1.20.0 vrystelling

Na 'n jaar van ontwikkeling is 'n nuwe stabiele tak van die hoëprestasie HTTP-bediener en multi-protokol-instaanbediener nginx 1.20.0 bekendgestel, wat die veranderinge insluit wat in die hooftak 1.19.x opgehoopte is. In die toekoms sal alle veranderinge in die stabiele tak 1.20 verband hou met die uitskakeling van ernstige foute en kwesbaarhede. Binnekort sal die hooftak van nginx 1.21 gevorm word, waarin die ontwikkeling van nuwe funksies sal voortgaan. Vir gewone gebruikers wat nie die taak het om versoenbaarheid met derdeparty-modules te verseker nie, word dit aanbeveel om die hooftak te gebruik, op grond waarvan vrystellings van die kommersiële produk Nginx Plus elke drie maande gevorm word.

Volgens 'n Maart-verslag van Netcraft word nginx op 20.15% van alle aktiewe werwe gebruik ('n jaar gelede 19.56%, twee jaar gelede 20.73%), wat ooreenstem met die tweede plek in gewildheid in hierdie kategorie (Apache se aandeel stem ooreen met 25.38% ('n jaar gelede 27.64%), Google - 10.09%, Cloudflare - 8.51%. Terselfdertyd, as alle werwe oorweeg word, behou nginx sy leierskap en beslaan 35.34% van die mark ('n jaar gelede 36.91%, twee jaar gelede - 27.52%), terwyl die aandeel van Apache ooreenstem met 25.98%, OpenResty (platform gebaseer op nginx en LuaJIT.) - 6.55%, Microsoft IIS - 5.96%.

Onder die miljoen webwerwe wat die meeste in die wêreld besoek word, is nginx se aandeel 25.55% ('n jaar gelede 25.54%, twee jaar gelede 26.22%). Tans bedryf ongeveer 419 miljoen webwerwe Nginx (459 miljoen 'n jaar gelede). Volgens W3Techs word nginx op 33.7% van webwerwe gebruik uit die miljoen wat die meeste besoek is, in April verlede jaar was hierdie syfer 31.9%, die jaar tevore - 41.8% (die afname word verklaar deur die oorgang na aparte rekeningkunde van die Cloudflare http bediener). Apache se aandeel het oor die jaar van 39.5% tot 34% gedaal, en Microsoft IIS se aandeel van 8.3% tot 7%. LiteSpeed ​​se aandeel het van 6.3% tot 8.4% gegroei, en Node.js van 0.8% tot 1.2%. In Rusland word nginx op 79.1% van die mees besoekte webwerwe gebruik ('n jaar gelede - 78.9%).

Die mees noemenswaardige verbeterings wat bygevoeg is tydens die ontwikkeling van die 1.19.x stroomop-tak:

  • Bygevoeg die vermoë om kliënt sertifikate te verifieer met behulp van eksterne dienste gebaseer op die OCSP (Online Certificate Status Protocol) protokol. Om die kontrole moontlik te maak, word die ssl_ocsp-aanwysing voorgestel om die kasgrootte - ssl_ocsp_cache te konfigureer, om die URL van die OCSP-hanteerder wat in die sertifikaat gespesifiseer is - ssl_ocsp_responder te herdefinieer.
  • Die ngx_stream_set_module module is ingesluit, wat jou toelaat om 'n waarde toe te ken aan die veranderlike bediener { luister 12345; stel $true 1; }
  • Bygevoeg proxy_cookie_flags-instruksie om vlae vir koekies in gevolmagtigde verbindings te spesifiseer. Byvoorbeeld, om die "httponly" vlag by Cookie "one" en die "nosecure" en "samesite=strict" vlae vir alle ander koekies te voeg, kan jy die volgende konstruksie gebruik: proxy_cookie_flags one httponly; proxy_cookie_flags ~ nosecure samesite=streng;

    'n Soortgelyke userid_flags-aanwysing vir die byvoeging van vlae by koekies is ook geïmplementeer vir die ngx_http_userid-module.

  • Bygevoeg riglyne “ssl_conf_command”, “proxy_ssl_conf_command”, “grpc_ssl_conf_command” en “uwsgi_ssl_conf_command”, waarmee jy arbitrêre parameters vir die konfigurasie van OpenSSL kan stel. Byvoorbeeld, om ChaCha-syfers en gevorderde konfigurasie van TLSv1.3-syfers te prioritiseer, kan jy ssl_conf_command Options PrioritizeChaCha spesifiseer; ssl_conf_command Ciphersuites TLS_CHACHA20_POLY1305_SHA256;
  • Bygevoeg "ssl_reject_handshake"-direktief, wat opdrag gee om alle pogings om SSL-verbindings te onderhandel te verwerp (kan byvoorbeeld gebruik word om alle oproepe met onbekende gasheername in die SNI-veld te verwerp). bediener {luister 443 ssl; ssl_reject_handshake aan; } bediener {luister 443 ssl; bedienernaam voorbeeld.com; ssl_certificate example.com.crt; ssl_certificate_key example.com.key; }
  • Die proxy_smtp_auth-instruksie is by die posinstaanbediener gevoeg, wat jou toelaat om die gebruiker op die agterkant te verifieer deur die AUTH-opdrag en die PLAIN SASL-meganisme te gebruik.
  • Het die "keepalive_time"-riglyne bygevoeg, wat die totale leeftyd van elke keep-alive-verbinding beperk, waarna die verbinding gesluit sal word (nie te verwar met keepalive_timeout nie, wat die onaktiwiteitstyd definieer waarna die keep-alive-verbinding gesluit word).
  • Bygevoeg $connection_time-veranderlike waardeur u inligting oor die verbindingsduur in sekondes met millisekonde akkuraatheid kan kry.
  • 'n "min_free" parameter is bygevoeg by die "proxy_cache_path", "fastcgi_cache_path", "scgi_cache_path" en "uwsgi_cache_path" riglyne, wat die kasgrootte reguleer gebaseer op die bepaling van die minimum grootte van vrye skyfspasie.
  • Die "lingering_close", "lingering_time" en "lingering_timeout" riglyne is aangepas om met HTTP/2 te werk.
  • Die verbindingsverwerkingskode in HTTP/2 is naby die HTTP/1.x-implementering. Ondersteuning vir die individuele instellings "http2_recv_timeout", "http2_idle_timeout" en "http2_max_requests" is gestaak ten gunste van die algemene riglyne "keepalive_timeout" en "keepalive_requests". Die instellings "http2_max_field_size" en "http2_max_header_size" is verwyder en "large_client_header_buffers" moet eerder gebruik word.
  • Bygevoeg 'n nuwe opdrag reël opsie "-e", wat jou toelaat om 'n alternatiewe lêer te spesifiseer vir die skryf van die fout log, wat gebruik sal word in plaas van die log gespesifiseer in die instellings. In plaas van die lêernaam, kan jy die spesiale waarde stderr spesifiseer.

Bron: opennet.ru

Voeg 'n opmerking