Izdanje glavne grane nginx 1.25.5 je oblikovano, u sklopu kojeg se nastavlja razvoj novih mogućnosti. U paralelno podržavanoj stabilnoj grani 1.24.x unose se samo promjene povezane s otklanjanjem ozbiljnih grešaka i ranjivosti. U budućnosti će na temelju glavne grane 1.25.x biti formirana stabilna grana 1.26. Kôd projekta napisan je na jeziku C i distribuira se pod BSD licencom.
Između izmjena:
- U modul stream dodana je podrška virtualnih servera, čija konfiguracija se definira u bloku «server { … }» pomoću direktive server_name. server { server_name ~^(www\.)?(.+)$; proxy_pass www.$2:12345; }
- Dodana je nova modul ngx_stream_pass_module, namijenjena preusmjeravanju primljenih veza izravno u bilo koji slušajući socket povezan s modulima kao što su http, stream i mail. stream { server { listen 12345 ssl; ssl_certificate domain.crt; ssl_certificate_key domain.key; pass 127.0.0.1:8000; } }
- U direktivi listen modula stream implementirana je podrška za parametre «deferred» (uključuje odgođeni accept), «accept_filter» (filter dolaznih veza koji se primjenjuje prije pozivanja funkcije accept) i «setfib» (postavljanje tablice usmjeravanja).
- Za neka arhitekture implementirana je podrška za određivanje veličine bloka (cache line), koja se koristi za prijenos podataka između CPU cache-a i memorije.
- Na Apple Silicon sustavima dodana je podrška za upravitelja paketa Homebrew.
- Rješeni su problemi s križnom kompilacijom za Windows.
- Otklonjena je greška koja je uzrokovala zatvaranje veza prilikom korištenja moda 0-RTT u QUIC protokolu.
Dodatno se može istaknuti objavljivanje stabilne verzije projekta FreeNginx 1.26.0, koja je razvojni fork Nginx-a. Razvoj forka vodi Maksim Dunjin, jedan od ključnih developera Nginx-a. FreeNginx se pozicionira kao nekomercijalni projekt koji osigurava razvoj kodne baze Nginx bez korporativnog uplitanja. Izdanje 1.26.0 označeno je kao stabilno izdanje koje je obuhvatilo promjene i ispravke iz izdanja mainline grane Nginx 1.25. Među ostalim, u sastav FreeNginx 1.26.0 ušla je eksperimentalna podrška za HTTP/3 protokol, poboljšanja za suzbijanje DoS napada i ispravke povezane s asinkronom obradom unosa/izlaza.
Istovremeno je objavljeno njs 0.8.4, interpreter JavaScript jezika za web poslužitelja nginx. Interpretator njs implementira ECMAScript standarde i omogućuje proširivanje mogućnosti nginx-a za obradu zahtjeva putem skripti u konfiguraciji. Skripte se mogu koristiti u konfiguracijskom datoteci za određivanje proširene logike obrade zahtjeva, oblikovanje konfiguracije, dinamičku generaciju odgovora, modifikaciju zahtjeva/odgovora ili brzu izradu lažnih rješenja za probleme u web-aplikacijama. U novoj verziji: dodana je podrška za JavaScript motor QuickJS u CLI; dodana je opcija za postavljanje zaglavlja Server; implementirano je provjeravanje duplih varijabli postavljenih putem js_set.
Izvor: opennet.ru
