Lëshimi i nginx 1.20.0

Pas një viti zhvillimi, është prezantuar dega e re stabile e serverit HTTP me performancë të lartë dhe serverit proxy multi-protokol nginx 1.20.0, e cila përfshin ndryshimet e grumbulluara në degën kryesore 1.19.x. Në të ardhmen, të gjitha ndryshimet në degën e stabilizuar 1.20 do të lidhen me eliminimin e defekteve të rënda dhe dobësive. Së shpejti do të formohet dega kryesore e nginx 1.21, në të cilën do të vazhdojë zhvillimi i mundësive të reja. Për përdoruesit e zakonshëm, të cilët nuk kanë si qëllim të sigurojnë përputhshmërinë me module të jashtme, rekomandohet të përdorin degën kryesore, mbi të cilën aktualisht renditen lëshime të produktit komercial Nginx Plus çdo tre muaj.

Sipas raportit të marsit nga kompania Netcraft, nginx përdoret në 20.15% të të gjithë faqeve aktive (një vit më parë 19.56%, dy vite më parë 20.73%), që i korrespondon vendit të dytë për popullaritet në këtë kategori (pjesa e Apache është 25.38% (një vit më parë 27.64%), Google - 10.09%, Cloudflare - 8.51%. Ndërkohë, kur shqyrtohen të gjitha faqet, nginx ruan udhëheqjen me një pjesë tregu prej 35.34% (një vit më parë 36.91%, dy vite më parë - 27.52%), ndërsa pjesa e Apache është 25.98%, OpenResty (platformë e bazuar në nginx dhe LuaJIT.) - 6.55%, Microsoft IIS - 5.96%.

Mes një milioni faqeve më të vizituara në botë, pjesa e nginx arrin 25.55% (një vit më parë 25.54%, dy vite më parë 26.22%). Aktualisht, rreth 419 milion faqeve mbështeten në nginx (një vit më parë 459 milion). Sipas të dhënave nga W3Techs, nginx përdoret në 33.7% të faqeve nga milioni më të vizituara; në prillin e kaluar ky tregues ishte 31.9%, ndërsa dy vite më parë - 41.8% (rënia është shpjeguar nga kalimi në një llogari të veçantë të serverit http të Cloudflare). Pjesa e Apache ka rënë nga 39.5% në 34% brenda një viti, ndërsa pjesa e Microsoft IIS nga 8.3% në 7%. Pjesa e LiteSpeed është rritur nga 6.3% në 8.4%, ndërsa Node.js nga 0.8% në 1.2%. Në Rusi, nginx përdoret në 79.1% të faqeve më të vizituara (një vit më parë - 78.9%).

Përmirësimet më të dukshme, të shtuar gjatë formimit të degës kryesore 1.19.x:

  • ËshtĂ« shtuar mundĂ«sia e verifikimit tĂ« certifikatave tĂ« klientĂ«ve duke angazhuar shĂ«rbime tĂ« jashtme mbi protokollin OCSP (Protokolli i Statusit tĂ« CertifikatĂ«s Online). PĂ«r tĂ« aktivizuar verifikimin, Ă«shtĂ« propozuar direktiva ssl_ocsp; pĂ«r konfigurimin e madhĂ«sisĂ« sĂ« caches - ssl_ocsp_cache; pĂ«r tejkalimin e URL-sĂ« sĂ« OCSP-ruajtĂ«sit tĂ« caktuar nĂ« certifikatĂ« - ssl_ocsp_responder.
  • NjĂ« moduli i ri ngx_stream_set_module Ă«shtĂ« pĂ«rfshirĂ«, duke lejuar caktimin e vlerave tĂ« variablave server { listen 12345; set $true 1; }
  • ËshtĂ« shtuar direktiva proxy_cookie_flags pĂ«r tĂ« caktuar flamujt pĂ«r Cookie-nĂ« nĂ« lidhjet e proxy-t. PĂ«r shembull, pĂ«r tĂ« shtuar flamurin "httponly" nĂ« Cookie-nĂ« "one", dhe flamujt "nosecure" dhe "samesite=strict" pĂ«r tĂ« gjitha Cookie-t e tjera, mund tĂ« pĂ«rdoret konstrukti: proxy_cookie_flags one httponly; proxy_cookie_flags ~ nosecure samesite=strict;

    Një direktivë e ngjashme userid_flags për të shtuar flag-at në Cookie është implementuar gjithashtu për modulën ngx_http_userid.

  • JanĂ« shtuar direktivat "ssl_conf_command", "proxy_ssl_conf_command", "grpc_ssl_conf_command" dhe "uwsgi_ssl_conf_command", pĂ«rmes tĂ« cilave mund tĂ« pĂ«rcaktohen parametra tĂ« rastit pĂ«r rregullimin e OpenSSL. PĂ«r shembull, pĂ«r tĂ« prioritarizuar cipher-at ChaCha dhe pĂ«r tĂ« rregulluar cipher-at TLSv1.3, mund tĂ« caktohet: ssl_conf_command Options PrioritizeChaCha; ssl_conf_command Ciphersuites TLS_CHACHA20_POLY1305_SHA256;
  • ËshtĂ« shtuar direktiva "ssl_reject_handshake", e cila urdhĂ«ron tĂ« refuzohen tĂ« gjitha pĂ«rpjekjet pĂ«r negociim. SSL-e lidhjeve (pĂ«r shembull, mund tĂ« pĂ«rdoret pĂ«r tĂ« ndaluar tĂ« gjitha kĂ«rkesat me emra hostesh tĂ« panjohur nĂ« fushĂ«n SNI). server { listen 443 ssl; ssl_reject_handshake on; } server { listen 443 ssl; server_name example.com; ssl_certificate example.com.crt; ssl_certificate_key example.com.key; }
  • NĂ« proxy-in postal Ă«shtĂ« shtuar direktiva proxy_smtp_auth, e cila lejon autentifikimin e pĂ«rdoruesit nĂ« backend pĂ«rmes komandĂ«s AUTH dhe mekanizmit PLAIN SASL.
  • E shtuar drejta «keepalive_time», e cila kufizon kohĂ«n totale tĂ« jetĂ«s sĂ« çdo lidhjeje keep-alive, pas sĂ« cilĂ«s lidhja do tĂ« mbyllet (mos e ngatĂ«rroni me keepalive_timeout, i cili pĂ«rcakton kohĂ«n e papunĂ«sisĂ«, pas sĂ« cilĂ«s lidhja keep-alive mbyllet).
  • Shtuar variabla $connection_time, pĂ«rmes sĂ« cilĂ«s mund tĂ« merret informacion pĂ«r kohĂ«zgjatjen e lidhjes nĂ« sekonda me saktĂ«si milisekondash.
  • NĂ« direktivat «proxy_cache_path», «fastcgi_cache_path», «scgi_cache_path» dhe «uwsgi_cache_path» u shtua parametri «min_free», i cili rregullon madhĂ«sinĂ« e caches nĂ« bazĂ« tĂ« pĂ«rcaktimit tĂ« madhĂ«sisĂ« minimale tĂ« hapĂ«sirĂ«s sĂ« lirĂ« nĂ« disk.
  • DirektivĂ«t «lingering_close», «lingering_time» dhe «lingering_timeout» janĂ« adaptuar pĂ«r tĂ« punuar me HTTP/2.
  • Kodi pĂ«r pĂ«rpunimin e lidhjeve nĂ« HTTP/2 Ă«shtĂ« afruar me realizimin e HTTP/1.x. MbĂ«shtetje pĂ«r cilĂ«simet e veçanta «http2_recv_timeout», «http2_idle_timeout» dhe «http2_max_requests» Ă«shtĂ« ndaluar nĂ« favor tĂ« direktivave tĂ« pĂ«rgjithshme «keepalive_timeout» dhe «keepalive_requests». JanĂ« hequr cilĂ«simet «http2_max_field_size» dhe «http2_max_header_size», pĂ«r tĂ« cilat duhet tĂ« pĂ«rdoret «large_client_header_buffers».
  • E shtuar njĂ« mundĂ«si e re nĂ« komandĂ«n «-e», e cila lejon specifikimin e njĂ« skedari alternativ pĂ«r regjistrimin e gabimeve, i cili do tĂ« pĂ«rdoret nĂ« vend tĂ« regjistrit tĂ« pĂ«rcaktuar nĂ« cilĂ«sime. NĂ« vend tĂ« emrit tĂ« skedarit, mund tĂ« specifikohet vlera speciale stderr.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster