Dega kryesore e nginx 1.27.5 është publikuar, e cila vazhdon të zhvillojë veçori të reja. Dega e qëndrueshme e mirëmbajtur paralelisht 1.26.x prezanton vetëm ndryshime që lidhen me rregullimin e gabimeve dhe dobësive serioze. Në të ardhmen, një degë e qëndrueshme 1.27 do të formohet mbi bazën e degës kryesore 1.28.x. Kodi i projektit është shkruar në C dhe shpërndahet sipas licencës BSD.
Ndër ndryshimet në nginx 1.27.5:
- Për lidhjet që përdorin protokollin QUIC, është shtuar mbështetje për algoritmin e kontrollit të mbingarkesës së rrjetit CUBIC (RFC 9438), i cili funksionon duke rritur gradualisht madhësinë e dritares së mbingarkesës derisa të ndodhë humbja e paketës, pas së cilës madhësia e dritares kthehet në vlerën para fillimit të humbjes. Në testet e kryera, përdorimi i CUBIC bëri të mundur uljen e kohës së transferimit të një skedari 500 MB me 24% me vonesa 40ms dhe BDP 750K (Bandwidth Delay Product) dhe me 73% me vonesa 100ms dhe BDP 9M.
- Madhësia maksimale e sesioneve SSL të ruajtura në memorien e përbashkët është rritur në 8192.
- Është themeluar kuvendi me bibliotekën Musl C.
- Është kryer punë për të optimizuar performancën dhe për të eliminuar gabimet në zbatimin e HTTP/3.
- U rregulluan gabimet në zbatimin e direktivave "grpc_ssl_password_file", "proxy_ssl_password_file" dhe "uwsgi_ssl_password_file" që shfaqeshin gjatë ngarkimit. Certifikatat SSL dhe çelësat e enkriptimit nga variablat.
- U rregulluan problemet me caktimin e variablave $ssl_curve dhe $ssl_curves kur përdoreshin implementime të kurbës eliptike të lidhshme në OpenSSL.
Për më tepër, vlen të përmendet publikimi i versioneve të qëndrueshme të projektit FreeNginx 1.27.5 dhe 1.27.6, i cili zhvillon degën Nginx. Forku po zhvillohet nga Maxim Dunin, një nga zhvilluesit kryesorë të Nginx. FreeNginx pozicionohet si një projekt jofitimprurës që siguron zhvillimin e bazës së kodit Nginx pa ndërhyrjen e korporatave.
Ndryshimet në FreeNginx 1.27.5 dhe 1.27.6:
- Probleme të rregulluara gjatë përdorimit të OpenSSL 3.5 (variablat $ssl_curve dhe $ssl_curves nuk shfaqnin emrin e grupit X25519MLKEM768).
- Rregulloi një ndërprerje të rrjedhës së punës në konfigurimet me direktivën proxy_ssl_password_file, e cila ndodhi kur specifikoheshin variabla në direktivat proxy_ssl_certificate dhe proxy_ssl_certificate_key.
- U shtua mbështetje për parametrin multipath në direktivën listen.
- Ripërdorimi i seancave SSL ndërmjet serverëve që përdorin certifikata të ndryshme në direktivën ssl_trusted_certificate është i ndaluar kur verifikimi i certifikatës SSL të klientit është i aktivizuar.
- Problemi me ripërdorimin e seancave në kontekstin e një seance tjetër është zgjidhur server virtual kur përdoret TLSv1.3 me OpenSSL 1.1.1e+.
- Rregulloi një problem kur përdorni zlib-ng.
Përveç kësaj, u publikua njs 0.8.10, një modul për integrimin e interpretuesve JavaScript në serverin http nginx. Mbështet lidhjen e motorëve të ndryshëm JavaScript. Motori vendas QuickJS me mbështetje për specifikimin ECMAScript 2023 ofrohet si bazë. Njs ju lejon të përdorni skripte JavaScript në konfigurim për të zgjeruar aftësitë e nginx. Skriptet mund të përdoren për të përcaktuar logjikën e avancuar të përpunimit të kërkesave, për të gjeneruar konfigurim, për të gjeneruar dinamikisht një përgjigje, për të modifikuar një kërkesë/përgjigje ose për të krijuar shpejt stub-e për të zgjidhur problemet në aplikacionet web.
Ndryshimet në njs 0.8.10:
- Motori JavaScript i QuickJS është përditësuar për të mbështetur API-të WebCrypto, TextEncoder dhe TextDecoder.
- Modulet e reja querystring, crypto dhe xml janë shtuar në motorin QuickJS.
- Mbështetje e shtuar për bibliotekën QuickJS-NG.
- Moduli nginx zbaton leximin e përmbajtjes së r.requestText dhe r.requestBuffer nga një skedar i përkohshëm.
Burimi: opennet.ru
