nginx 1.20.0 väljalase

Aastase arenduse järel on kasutusele võetud kõrge jõudlusega HTTP-serveri ja mitme protokolliga puhverserveri nginx 1.20.0 uus stabiilne haru, mis sisaldab põhiharus 1.19.x kogutud muudatusi. Edaspidi on kõik stabiilse haru 1.20 muudatused seotud tõsiste vigade ja haavatavuste kõrvaldamisega. Peagi moodustub nginx 1.21 põhiharu, milles jätkub uute funktsioonide arendamine. Tavakasutajatel, kellel pole ülesannet tagada ühilduvus kolmandate osapoolte moodulitega, on soovitatav kasutada põhiharu, mille alusel koostatakse iga kolme kuu tagant kommertstoote Nginx Plus väljalasked.

Netcrafti märtsikuu raporti kohaselt kasutatakse nginxi 20.15% kõigist aktiivsetest saitidest (aasta tagasi 19.56%, kaks aastat tagasi 20.73%), mis vastab populaarsuselt teisele kohale selles kategoorias (Apache'i osakaal on 25.38%. (aasta tagasi 27.64%), Google - 10.09%, Cloudflare - 8.51%. Samal ajal säilitab nginx oma juhtpositsiooni ja hõivab 35.34% turust (aasta tagasi 36.91%, kaks aastat tagasi - 27.52%), samas kui Apache osakaal vastab 25.98%, OpenResty ( nginxil ja LuaJITil põhinev platvorm.) - 6.55%, Microsoft IIS - 5.96%.

Maailma miljoni enimkülastatud saidi hulgas on nginxi osakaal 25.55% (aasta tagasi 25.54%, kaks aastat tagasi 26.22%). Praegu töötab Nginxi umbes 419 miljonil veebisaidil (aasta tagasi 459 miljonit). W3Techsi andmetel kasutatakse nginxi miljonist enimkülastatud saitidest 33.7% -l, eelmise aasta aprillis oli see näitaja 31.9%, üle-eelmisel aastal 41.8% (languse põhjuseks on Cloudflare'i http eraldi raamatupidamisele üleminek server). Apache’i aktsia langes aastaga 39.5%-lt 34%-le ja Microsoft IIS-i aktsia 8.3%-lt 7%-le. LiteSpeedi osakaal kasvas 6.3%-lt 8.4%-le ja Node.js’i osakaal 0.8%-lt 1.2%-le. Venemaal kasutatakse nginxi 79.1% enimkülastatud saitidest (aasta tagasi - 78.9%).

Märkimisväärseimad täiustused, mis on lisatud 1.19.x ülesvoolu haru arendamise käigus:

  • Lisatud on võimalus kontrollida kliendi sertifikaate välisteenuste abil, mis põhinevad protokollil OCSP (Online Certificate Status Protocol). Kontrolli lubamiseks on välja pakutud direktiiv ssl_ocsp, vahemälu suuruse konfigureerimiseks - ssl_ocsp_cache, sertifikaadis määratud OCSP-käsitleja URL-i uuesti määratlemiseks - ssl_ocsp_responder.
  • Kaasas on moodul ngx_stream_set_module, mis võimaldab määrata muutuja serverile väärtuse { listen 12345; määra $tõene 1; }
  • Lisatud käsk proxy_cookie_flags, et määrata lipud puhverserveri ühenduste küpsiste jaoks. Näiteks lipu „httponly” lisamiseks küpsisele „üks” ning lipuke „nosecure” ja „samesite=strict” lisamiseks kõikidele teistele küpsistele saate kasutada järgmist konstruktsiooni: proxy_cookie_flags one httponly; proxy_cookie_flags ~ nosecure samesite=strict;

    Sarnane userid_flags direktiiv küpsistesse lippude lisamiseks on rakendatud ka mooduli ngx_http_userid jaoks.

  • Lisatud on käskkirjad “ssl_conf_command”, “proxy_ssl_conf_command”, “grpc_ssl_conf_command” ja “uwsgi_ssl_conf_command”, millega saab määrata suvalisi parameetreid OpenSSL-i seadistamiseks. Näiteks ChaCha šifrite ja TLSv1.3 šifrite täpsema konfigureerimise eelistamiseks saate määrata ssl_conf_command Options PrioritizeChaCha; ssl_conf_command Ciphersuites TLS_CHACHA20_POLY1305_SHA256;
  • Lisatud "ssl_reject_handshake" direktiiv, mis käsib tagasi lükata kõik katsed SSL-ühenduste üle läbirääkimiste pidamiseks (saab kasutada näiteks kõigi tundmatute hostinimedega kõnede tagasilükkamiseks SNI väljal). server { kuula 443 ssl; ssl_reject_handshake on; } server { kuula 443 ssl; serveri_nimi näide.com; ssl_certificate example.com.crt; ssl_certificate_key example.com.key; }
  • Meili puhverserverile on lisatud käsk proxy_smtp_auth, mis võimaldab kasutajat taustaprogrammis autentida, kasutades käsku AUTH ja PLAIN SASL mehhanismi.
  • Lisatud "keepalive_time" direktiiv, mis piirab iga keep-alive ühenduse kogu eluiga, mille järel ühendus suletakse (mitte segi ajada keepalive_timeoutiga, mis määrab tegevusetusaja, mille möödudes ühendus suletakse).
  • Lisatud $connection_time muutuja, mille kaudu saab millisekundite täpsusega infot ühenduse kestuse kohta sekundites.
  • Direktiividele "proxy_cache_path", "fastcgi_cache_path", "scgi_cache_path" ja "uwsgi_cache_path" on lisatud parameeter "min_free", mis reguleerib vahemälu suurust vaba kettaruumi minimaalse suuruse määramise alusel.
  • Direktiiv "lingering_close", "lingering_time" ja "lingering_timeout" on kohandatud töötama HTTP/2-ga.
  • Ühenduse töötlemise kood HTTP/2-s on lähedane HTTP/1.x-le. Üksikute seadistuste "http2_recv_timeout", "http2_idle_timeout" ja "http2_max_requests" tugi on lõpetatud üldjuhiste "keepalive_timeout" ja "keepalive_requests" kasuks. Sätted "http2_max_field_size" ja "http2_max_header_size" on eemaldatud ja nende asemel tuleks kasutada "large_client_header_buffers".
  • Lisatud uus käsurea valik “-e”, mis võimaldab määrata vealogi kirjutamiseks alternatiivse faili, mida hakatakse kasutama seadistustes määratud logi asemel. Failinime asemel saate määrata eriväärtuse stderr.

Allikas: opennet.ru

Lisa kommentaar