A fost lansată versiunea principală a nginx 1.25.5, în cadrul căreia se continuă dezvoltarea de noi funcționalități. În ramura stabilă 1.24.x, care este menținută pe parcurs, se fac doar modificări legate de remedieri ale erorilor grave și vulnerabilităților. Ulterior, pe baza ramurii principale 1.25.x va fi formată o ramură stabilă 1.26. Codul proiectului este scris în limbajul C și este distribuit sub licența BSD.
Printre modificări:
- Suport pentru modulul stream a fost adăugat servere virtuale, a cărui configurație este definită în blocul 'server { … }' prin directiva server_name. server { server_name ~^(www\.)?(.+)$; proxy_pass www.$2:12345; }
- A fost adăugat un nou modul ngx_stream_pass_module, destinat să redirecționeze conexiunile primite direct către orice socket ascultător asociat cu module precum http, stream și mail. stream { server { listen 12345 ssl; ssl_certificate domain.crt; ssl_certificate_key domain.key; pass 127.0.0.1:8000; } }
- În directiva listen a modulului stream a fost implementat suport pentru parametrii 'deferred' (activează acceptarea întârziată), 'accept_filter' (filtru pentru conexiunile de inbound, aplicat înainte de apelarea funcției accept) și 'setfib' (setarea tabelului de rutare).
- Pentru unele arhitecturi, a fost implementat suportul pentru determinarea dimensiunii blocului (cache line) utilizat pentru transferul de date între cache-ul CPU și memorie.
- Pe sistemele Apple Silicon a fost adăugată suportul pentru managerul de pachete Homebrew.
- Au fost rezolvate problemele legate de compilarea multiplă pentru Windows.
- A fost eliminată o eroare care ducea la închiderea conexiunilor atunci când se utiliza modul 0-RTT în protocolul QUIC.
De asemenea, se poate menționa lansarea versiunii stabile a proiectului FreeNginx 1.26.0, care dezvoltă un fork al Nginx. Dezvoltarea fork-ului este condusă de Maxim Dunin, unul dintre dezvoltatorii cheie ai Nginx. FreeNginx este poziționat ca un proiect non-profit, asigurând dezvoltarea bazei de cod Nginx fără intervenția corporatistă. Lansarea 1.26.0 este marcată ca o versiune stabilă, cuprinzând modificări și corecturi din versiunile ramurii principale Nginx 1.25. În plus, FreeNginx 1.26.0 include suport experimental pentru protocolul HTTP/3, îmbunătățiri pentru combaterea atacurilor DoS și corecturi legate de procesarea asynchronă a intrărilor/ieșirilor.
În același timp, a fost lansată njs 0.8.4, interpretul limbajului JavaScript pentru server web nginx. Interpretul njs implementează standardele ECMAScript și permite extinderea capacităților nginx în prelucrarea solicitărilor prin intermediul scripturilor în configurație. Scripturile pot fi utilizate în fișierul de configurație pentru a defini logica extinsă a prelucrării solicitărilor, generarea configurației, generarea dinamică a răspunsului, modificarea solicitării/răspunsului sau crearea rapidă de stub-uri pentru soluționarea problemelor în aplicațiile web. În noua versiune: a fost adăugată suport pentru motorul JavaScript QuickJS în CLI; a fost adăugată opțiunea de a seta antetul Server; a fost implementată verificarea dublurilor variabilelor setate prin js_set.
Sursa: opennet.ro
