Pas një vit zhvillimi, është paraqitur dega e re stabile e serverit HTTP me performancë të lartë dhe serverit të avancuar të proxy-t nginx 1.20.0, e cila përmban ndryshimet e grumbulluara në degën kryesore 1.19.x. Në të ardhmen, të gjitha ndryshimet në degën stabile 1.20 do të lidhen me eliminimin e gabimeve të rënda dhe dobësive. Së shpejti do të formohet dega kryesore nginx 1.21, në të cilën do të vazhdojë zhvillimi i mundësive të reja. Përdoruesve të zakonshëm, që nuk kanë detyrën për të siguruar përputhshmërinë me module të jashtme, u rekomandohet të përdorin degën kryesore, mbi të cilën çdo tri muaj krijohen lëshime të produktit komercial Nginx Plus.
Sipas raportit tĂ« marsit nga kompania Netcraft, nginx pĂ«rdoret nĂ« 20.15% tĂ« tĂ« gjitha faqeve aktive (njĂ« vit mĂ« parĂ« 19.56%, dy vjet mĂ« parĂ« 20.73%), qĂ« pĂ«rfaqĂ«son vendin e dytĂ« pĂ«r popullaritet nĂ« kĂ«tĂ« kategori (shkalla e Apache pĂ«rfaqĂ«son 25.38% (njĂ« vit mĂ« parĂ« 27.64%), Google â 10.09%, Cloudflare â 8.51%. Kur shqyrtohen tĂ« gjitha faqet, nginx ruan liderĂ«sinĂ« dhe zĂ« 35.34% tĂ« tregut (njĂ« vit mĂ« parĂ« 36.91%, dy vjet mĂ« parĂ« â 27.52%), ndĂ«rsa shkalla e Apache pĂ«rfaqĂ«son 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Ă«, shkalla e nginx pĂ«rbĂ«n 25.55% (njĂ« vit mĂ« parĂ« 25.54%, dy vjet mĂ« parĂ« 26.22%). Aktualisht, rreth 419 milion faqeve janĂ« nĂ« menaxhim nga nginx (njĂ« vit mĂ« parĂ« 459 milion). Sipas tĂ« dhĂ«nave tĂ« W3Techs, nginx pĂ«rdoret nĂ« 33.7% tĂ« faqeve nga njĂ« milioni mĂ« tĂ« vizituarat, nĂ« prill tĂ« vitit tĂ« kaluar ky tregues ishte 31.9%, dy vjet mĂ« parĂ« â 41.8% (rĂ«nia shpjegohet nga kalimi nĂ« njĂ« llogari tĂ« veçantĂ« tĂ« serverit http tĂ« Cloudflare). Shkalla e Apache e ka ulur nga 39.5% nĂ« 34% nĂ« njĂ« vit, ndĂ«rsa shkalla e Microsoft IIS nga 8.3% nĂ« 7%. Shkalla e LiteSpeed u rrit nga 6.3% nĂ« 8.4%, ndĂ«rsa ajo e 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 me ndihmĂ«n e shĂ«rbimeve tĂ« jashtme tĂ« bazuara nĂ« protokollin OCSP (Protokolli i Statusit tĂ« Certifikatave nĂ« FjalĂ«). PĂ«r tĂ« mundĂ«suar verifikimin, Ă«shtĂ« propozuar direktiva ssl_ocsp, pĂ«r tĂ« konfiguruar madhĂ«sinĂ« e cache-it â ssl_ocsp_cache, pĂ«r tĂ« tejkaluar URL-nĂ« e OCSP-marrĂ«sit tĂ« caktuar nĂ« certifikatĂ« â ssl_ocsp_responder.
- Moduli ngx_stream_set_module është përfshirë, duke lejuar caktimin e vlerës së një variabli server { listen 12345; set $true 1; }
- Direktiva proxy_cookie_flags është shtuar për të caktuar flamujt për cookie në lidhjet e proxy. Për shembull, për të shtuar flamujn «httponly» për cookie-n «one», dhe për të gjithë cookie-t e tjera, flamujt «nosecure» dhe «samesite=strict» mund të përdoren si në vijim: proxy_cookie_flags one httponly; proxy_cookie_flags ~ nosecure samesite=strict;
Një direktivë e ngjashme userid_flags për të shtuar flamuj për cookie është gjithashtu implementuar për modulin ngx_http_userid.
- Direktivat «ssl_conf_command», «proxy_ssl_conf_command», «grpc_ssl_conf_command» dhe «uwsgi_ssl_conf_command» janë shtuar, duke lejuar caktimin e parametrave të ndryshëm për konfigurimin e OpenSSL. Për shembull, për të priorizuar ciphers ChaCha dhe për konfigurimin e avancuar të ciphers TLSv1.3 mund të përdoret ssl_conf_command Options PrioritizeChaCha; ssl_conf_command Ciphersuites TLS_CHACHA20_POLY1305_SHA256;
- Direktiva «ssl_reject_handshake» është shtuar, e cila kërkon të refuzojë të gjitha përpjekjet për negociata SSL-lidhjesh (për shembull, mund të përdoret për të refuzuar 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; }
- Direktiva proxy_smtp_auth është shtuar në proxy-në e postës, duke lejuar autentikimin e përdoruesit në backend përmes komandës AUTH dhe mekanizmit PLAIN SASL.
- Direktiva «keepalive_time» është shtuar, e cila kufizon kohën e përgjithshme të jetës së çdo lidhjeje keep-alive, pas përfundimit të së cilës lidhja do të mbyllet (mos e ngatërroni me keepalive_timeout, i cili përcakton kohën e pasivitetit, pas së cilës lidhja keep-alive mbyllet).
- ĂshtĂ« shtuar variabli $connection_time, pĂ«rmes tĂ« cilit mund tĂ« merrni informacion nĂ« lidhje me kohĂ«zgjatjen e lidhjes nĂ« sekonda me saktĂ«si milisekondash.
- Parametri «min_free» është shtuar në direktivat «proxy_cache_path», «fastcgi_cache_path», «scgi_cache_path» dhe «uwsgi_cache_path», duke rregulluar madhësinë e caches në bazë të përcaktimit të madhësisë minimale të hapësirës së lirë në disk.
- Direktivat «lingering_close», «lingering_time» dhe «lingering_timeout» janë përshtatur për të punuar me HTTP/2.
- Kodi për procesimin e lidhjeve në HTTP/2 është afruar me implementimin e HTTP/1.x. Mbështetje për cilësime të veçanta «http2_recv_timeout», «http2_idle_timeout» dhe «http2_max_requests» është ndërprerë 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».
- Ofrua një mundësi të re komandave "-e", e cila lejon të specifikoni një skedë alternative për regjistrimin e gabimeve, që do të përdoret në vend të regjistrit të paracaktuar. Në vend të emrit të skedës, mund të specifikoni vlerën speciale stderr.
Burimi: opennet.ru
