Nginx 1.20.0 väljaanne

Pärast aasta arendust on välja antud uus stabiilne haru suure jõudlusega HTTP-serverist ja mitme protokolliga puhverserverist nginx 1.20.0, mis sisaldab endas muudatusi, mis on kogunenud põhiharus 1.19.x. Edasi liikudes on kõik muudatused stabiilses harus 1.20 seotud tõsiste vigade ja haavatavuste kõrvaldamisega. Peagi moodustatakse põhiharu nginx 1.21, kus jätkub uute võimaluste arendamine. Tavalistele kasutajatele, kellel ei ole vajadust tagada ühilduvust kolmandate osapoolte moodulitega, soovitatakse kasutada põhiharut, mille alusel iga kolme kuu tagant valmistatakse ette kommertstoode Nginx Plus.

Märtsikuu aruande kohaselt kasutab ettevõte Netcraft nginx 20,15% kõigist aktiivsetest veebisaitidest (aasta tagasi 19,56%, kaks aastat tagasi 20,73%), mis vastab populaarsuse teisele kohale antud kategoorias (Apache osakaal on 25,38% (aasta tagasi 27,64%), Google 10,09%, Cloudflare 8,51%. Samas, kui vaadata kõiki saite, säilitab nginx liidripositsiooni ja moodustab 35,34% turust (aasta tagasi 36,91%, kaks aastat tagasi 27,52%), samas kui Apache osakaal vastab 25,98%, OpenResty (nginx ja LuaJIT baasil olev platvorm) 6,55%, Microsoft IIS 5,96%.

Maailma miljoni kõige külastatavama saidi seas moodustab nginx 25,55% (aasta tagasi 25,54%, kaks aastat tagasi 26,22%). Hetkel töötab umbes 419 mln saiti nginx all (aasta tagasi 459 mln). W3Techs andmetel kasutatakse nginxi 33,7% kümnest miljonist kõige külastatavamatest saitidest, mullu aprillis oli see näitaja 31,9%, üle-eelmise aastal 41,8% (langus on tingitud Cloudflare HTTP-serveri eraldi arvestusele üleminekust). Apache osakaal on aastaga langenud 39,5%-lt 34%-le, Microsoft IIS osakaal 8,3%-lt 7%-le. LiteSpeed osakaal on kasvanud 6,3%-lt 8,4%-le, ja Node.js 0,8%-lt 1,2%-le. Venemaal kasutatakse nginxi 79,1% kõige külastatavamatest saitidest (aasta tagasi 78,9%).

Peamised täiustused, mis on lisatud põhiharu 1.19.x kujundamise käigus:

  • Lisatud võimalus klientsertifikaatide kontrollimiseks välistest teenustest OCSP (Online Certificate Status Protocol) protokolli alusel. Kontrollimise aktiveerimiseks on ette nähtud direktiiv ssl_ocsp, vahemälu suuruse seadmiseks - ssl_ocsp_cache, OCSP-töötleja URL-i ülekirjutamiseks, mis on näidatud sertifikaadis - ssl_ocsp_responder.
  • Komplekti on lisatud moodul ngx_stream_set_module, mis võimaldab määrata muutujate väärtuseid. server { listen 12345; set $true 1; }
  • Lisatud on direktiiv proxy_cookie_flags, et määrata lipud küpsiste jaoks proxüritud ühendustes. Näiteks, et lisada küpsisele "one" lipp "httponly" ja kõikidele teistele küpsistele lipud "nosecure" ja "samesite=strict", saab kasutada konstruktsiooni: proxy_cookie_flags one httponly; proxy_cookie_flags ~ nosecure samesite=strict;

    Sarnane direktiiv userid_flags küpsistele lipu lisamiseks on samuti rakendatud moodulile ngx_http_userid.

  • Lisatud on direktiivid "ssl_conf_command", "proxy_ssl_conf_command", "grpc_ssl_conf_command" ja "uwsgi_ssl_conf_command", millega saab määrata juhuslikke parameetreid OpenSSL konfigureerimiseks. Näiteks, et seada prioriteet ChaCha krüptograafiale ja laiendada TLSv1.3 krüptosüsteemide seadeid, saab märkida ssl_conf_command Options PrioritizeChaCha; ssl_conf_command Ciphersuites TLS_CHACHA20_POLY1305_SHA256;
  • Lisatud on direktiiv "ssl_reject_handshake", mis nõuab kõikide ürituste tagasilükkamist kokkuleppe saavutamiseks. SSL-ühenduste (näiteks saab seda kasutada kõigi küsitavate SNI vallas tundmatute hostinimede tagasilükkamiseks). 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; }
  • Postiprosessorisse on lisatud direktiiv proxy_smtp_auth, mis võimaldab autoriseerida kasutajat tagaplaanil AUTH käsu ja PLAIN SASL mehhanismi kaudu.
  • Lisatud on direktiiv "keepalive_time", mis piirab iga keep-alive ühenduse kogu eluiga, pärast mida ühendus suletakse (ärge segage keepalive_timeoutiga, mis määratleb passiivsuse aega, pärast mille lõppemist keep-alive ühendus suletakse).
  • Lisatud on muutuja $connection_time, mille kaudu saab teavet ühenduse kestuse kohta sekundites, millisekundi täpsusega.
  • Direktiividesse "proxy_cache_path", "fastcgi_cache_path", "scgi_cache_path" ja "uwsgi_cache_path" on lisatud parameeter "min_free", mis reguleerib vahemälu suurust, lähtudes minimaalsete vaba kettaruumi määramist.
  • Direktiivid "lingering_close", "lingering_time" ja "lingering_timeout" on kohandatud töötamiseks HTTP/2-ga.
  • HTTP/2 ühenduste töötlemise kood on lähenenud HTTP/1.x teostusele. Erinevate seadete «http2_recv_timeout», «http2_idle_timeout» ja «http2_max_requests» tugi on lõpetatud, et toetada üldisi direktiive «keepalive_timeout» ja «keepalive_requests». Seaded «http2_max_field_size» ja «http2_max_header_size» on eemaldatud ning nende asemel tuleks kasutada «large_client_header_buffers».
  • Lisatud uus käsurea valik «-e», mis võimaldab määrata alternatiivse faili veateate logimiseks, mida kasutatakse logis, mis on määratud seadetes. Faili nime asemel võib kasutada spetsiaalset väärtust stderr.

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster