Botimi i versionit kryesor të nginx 1.27.5, në të cilin vazhdon zhvillimi i mundësive të reja. Në versionin e mbështetur paralelisht të stabilizuar 1.26.x, bëhen vetëm ndryshime të lidhura me rregullimin e gabimeve serioze dhe cenueshmërive. Në të ardhmen, mbi bazën e versionit kryesor 1.27.x do të formohet një version stabil 1.28. Kodi i projektit është shkruar në gjuhën C dhe shpërndahet nën licencën 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 menaxhimit të mbingarkesës CUBIC (RFC 9438), i cili funksionon duke rritur gradualisht madhësinë e dritares së mbingarkesës deri në shfaqjen e humbjes së paketave, pas së cilës madhësia e dritares kthyehet në vlerën para humbjes. Në testet e realizuara, përdorimi i CUBIC ka lejuar reduktimin e kohës së transferimit të një skedari me madhësi 500 MB me 24% me vonesa 40 ms dhe BDP 750K (Bandwidth Delay Product) dhe me 73% me vonesa 100 ms dhe BDP 9M.
- Madhësia maksimale e ruajtjes në memorie e seancave SSL është rritur në 8192.
- ĂshtĂ« realizuar ndĂ«rtimi me bibliotekĂ«n C Musl.
- Punohet për optimizimin e performancës dhe eliminimin e gabimeve në implementimin e HTTP/3.
- Janë rregulluar gabimet në implementimin e direktivave «grpc_ssl_password_file», «proxy_ssl_password_file» dhe «uwsgi_ssl_password_file», të shfaqura gjatë ngarkimit certifikatat SSL dhe çelësave të enkriptimit nga variablat.
- Janë eliminuar problemet me caktimin e variablave $ssl_curve dhe $ssl_curves kur përdoren implementime të lidhura me kurbat eliptike në OpenSSL.
Për më tepër, mund të vihet në dukje publikimi i versioneve stabile të projektit FreeNginx 1.27.5 dhe 1.27.6, një fork i zhvilluar nga Nginx. Zhvillimi i forkut drejtohet nga Maksim Dunin, një nga zhvilluesit kryesorë të Nginx. FreeNginx pozicionohet si një projekt jo-komercial që siguron zhvillimin e bazës së kodit të Nginx pa ndërhyrje korporative.
Ndryshimet në FreeNginx 1.27.5 dhe 1.27.6:
- Janë zgjidhur problemet kur përdoret OpenSSL 3.5 (në variablat $ssl_curve dhe $ssl_curves nuk shfaqej emri i grupit X25519MLKEM768).
- ĂshtĂ« eliminuar pĂ«rfundimi i papritur i procesit tĂ« punĂ«s nĂ« konfigurimet me direktivĂ«n proxy_ssl_password_file, e cila shfaqej kur specifikoheshin variablat nĂ« direktivat proxy_ssl_certificate dhe proxy_ssl_certificate_key.
- Direktivës listen i është shtuar mbështetje për parametrin multipath.
- Ribashkimi i seancave SSL midis serverëve që përdorin certifikata të ndryshme në direktivën ssl_trusted_certificate është ndaluar, kur është aktivizuar verifikimi i certifikatave SSL të klientëve.
- Janë zgjidhur problemet me ribashkimin e seancave në kontekstin tjetër server virtual kur përdoret TLSv1.3 me OpenSSL 1.1.1e+.
- Janë zgjidhur problemet kur përdoret zlib-ng.
Për më tepër, u lëshua njs 0.8.10, një modul për integrimin e interpretorëve të gjuhës JavaScript në serverin http nginx. Mbështeten lidhjet e ndryshme të motorëve JavaScript. Si bazë ofrohet motori i tij QuickJS me mbështetje për specifikimin ECMAScript 2023. Njs lejon përdorimin e skripteve JavaScript në konfigurim për të zgjeruar mundësitë e nginx. Skriptet mund të përdoren për të përcaktuar logjikën e përmirësuar të trajtimit të kërkesave, formimin e konfigurimeve, gjenerimin dinamik të përgjigjeve, modifikimin e kërkesës/përgjigjes ose krijimin e shpejtë të stendave për zgjidhjen e problemeve në aplikacionet web.
Ndryshimet në njs 0.8.10:
- Në motorin JavaScript QuickJS është shtuar mbështetje për API WebCrypto, TextEncoder dhe TextDecoder.
- Në motorin QuickJS janë shtuar módulo të reja querystring, crypto dhe xml.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r bibliotekĂ«n QuickJS-NG.
- Në modulin e nginx është implementuar leximi i përmbajtjes r.requestText dhe r.requestBuffer nga një skedar përkohësor.
Burimi: opennet.ru
