Nginx 1.20.0 väljaanne

Pärast aasta arengut on esitlemiseks valmis uus stabiilne versioon kõrge jõudlusega HTTP-serverist ja mitme protokolliga proxist nginx 1.20.0, mis sisaldab kõiki muudatusi, mis on kogunenud põhiversioonis 1.19.x. Edasi toimuvad kõik muudatused stabiilses versioonis 1.20 tõsiste vigade ja haavatavuste kõrvaldamisega. Peagi koostatakse põhiversioon nginx 1.21, kus jätkatakse uute võimaluste arendamist. Tavalistele kasutajatele, kellel ei ole vaja tagada ühilduvust kolmandate osapoolte moodulitega, soovitatakse kasutada põhiversiooni, mille alusel koostatakse iga kolme kuu tagant kommertsprodukti Nginx Plus väljundid.

Martikuu Netcrafti aruande kohaselt kasutati nginx-i 20,15%-l kõigist aktiivsetest veebisaitidest (aasta tagasi 19,56%, kaks aastat tagasi 20,73%), mis asub selles kategoorias populaarsuselt teisel kohal (Apache osakaal on 25,38% (aasta tagasi 27,64%), Google — 10,09%, Cloudflare — 8,51%. Samuti, vaadates kõiki veebisaite, säilitab nginx juhtpositsiooni ja hõivab 35,34% turust (aasta tagasi 36,91%, kaks aastat tagasi — 27,52%), samas kui Apache osakaal on 25,98%, OpenResty (nginx ja LuaJIT-põhine platvorm) — 6,55%, Microsoft IIS — 5,96%.

Kümmekond miljonit kõige rohkem külastatud veebisaiti maailmas on nginx-i osakaal 25,55% (aasta tagasi 25,54%, kaks aastat tagasi 26,22%). Praegusel hetkel töötab umbes 419 miljonit veebisaiti nginx-i all (aasta tagasi 459 miljonit). W3Techs andmetel kasutatakse nginx-i 33,7%-l miljonist kõige külastatumast veebisaidist, aprillis eelmisel aastal oli see näitaja 31,9%, kaks aastat tagasi — 41,8% (langust seletatakse Cloudflare'i eraldi http-serveri arvestusele üleminekuga). Apache osakaal kukkus aastaga 39,5%-lt 34%-le ja Microsoft IIS-i osakaal 8,3%-lt 7%-le. LiteSpeed osakaal kasvas 6,3%-lt 8,4%-le, ning Node.js 0,8%-lt 1,2%-le. Venemaal kasutatakse nginx-i 79,1%-l kõige külastatumatest veebisaitidest (aasta tagasi — 78,9%).

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

  • Lisa võimalus kliendi sertifikaatide kontrollimiseks väliste teenuste kaudu, kasutades OCSP (Online Certificate Status Protocol) protokolli. Kontrollimise lubamiseks on ette nähtud direktiiv ssl_ocsp, vahemälu suuruse seadmiseks — ssl_ocsp_cache, OCSP-protsessori URL-i ülekirjutamiseks, mis on sertifikaadis määratletud — ssl_ocsp_responder.
  • Kokku on lisatud moodul ngx_stream_set_module, mis võimaldab määrata muutuja väärtuse serveri seadete kaudu: server { listen 12345; set $true 1; }
  • Lisa direktiiv proxy_cookie_flags, et määrata lipud küpsiste jaoks vahemaaülekannetel. Näiteks, et lisada küpsisele "one" lipp "httponly", ja kõigile teistele küpsistele lipud "nosecure" ja "samesite=strict", saab kasutada järgmist konstruktsiooni: proxy_cookie_flags one httponly; proxy_cookie_flags ~ nosecure samesite=strict;

    Sarnane direktiiv userid_flags, et lisada lippude küpsistele, on samuti rakendatud moodulis 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 OpenSSL-i kohandamiseks erinevaid parameetreid. Näiteks ChaCha krüptode prioriseerimiseks ja TLSv1.3 krüptode täiendavaks seadistamiseks saab määrata ssl_conf_command Options PrioritizeChaCha; ssl_conf_command Ciphersuites TLS_CHACHA20_POLY1305_SHA256;
  • Lisatud on direktiiv «ssl_reject_handshake», mis määrab, et kõik kokkuleppeüritused tuleb tagasi lükata SSL-ühenduste jaoks (näiteks saab seda kasutada kõikide teadmatute hostinimede SNI väljal tuvastamise 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; }
  • Postiprokessorisse on lisatud direktiiv proxy_smtp_auth, mis võimaldab autentida kasutajat tagaplaanil AUTH käsu ja PLAIN SASL mehhanismi abil.
  • Lisatud on direktiiv «keepalive_time», mis piirab iga keep-alive ühenduse koguaega, pärast mille möödumist ühendus suletakse (ära sega kokku keepalive_timeout'iga, mis määratleb mitteaktiivsuse aja, mille järel keep-alive ühendus suletakse).
  • Lisaud on muutujad $connection_time, mille kaudu on võimalik saada teavet ühenduse kestuse kohta sekundites, millisekundi täpsusega.
  • Direktiivides «proxy_cache_path», «fastcgi_cache_path», «scgi_cache_path» ja «uwsgi_cache_path» on lisatud parameeter «min_free», mis reguleerib vahemälu suurust minimaalsete vabade kettaruumi nõuete alusel.
  • Direktiivide «lingering_close», «lingering_time» ja «lingering_timeout» kohandamine tagab töö HTTP/2-ga.
  • HTTP/2 ühenduste töötlemise kood on sarnasem HTTP/1.x rakendusele. Erilised seaded «http2_recv_timeout», «http2_idle_timeout» ja «http2_max_requests» on eemaldatud, asendades need üldiste direktiividega «keepalive_timeout» ja «keepalive_requests». Eemaldatud on seadistused «http2_max_field_size» ja «http2_max_header_size», mida tuleb nüüd asendada «large_client_header_buffers».
  • Lisaud on uus käsurea valik «-e», mis võimaldab määrata alternatiivse faili veaparade logimiseks, mis asendab seadetes määratud logi. Failinime asemel võib kasutada spetsiaalset väärtust stderr.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster