S-a lansat versiunea de server HTTP de înaltă performanță și proxy multi-protocol Angie 1.8.0, derivată din Nginx de către un grup de foști dezvoltatori ai proiectului care au părăsit compania F5 Network. Codul sursă al Angie este disponibil sub licența BSD. Proiectul a obținut certificate de compatibilitate cu sistemele de operare rusești Red OS, Astra Linux Special Edition, Rosa Chrome Server, Alt și versiunile FSTEC ale Alt.
Dezvoltarea este susținută de compania „Web-server”, înființată în toamna anului 2022, care a primit investiții în valoare de 1 milion de dolari. Printre co-proprietarii companiei Web-server se numără: Valentin Barteniev (liderul echipei care a dezvoltat produsul Nginx Unit), Ivan Poluyanov (fostul șef al dezvoltatorilor front-end de la Rambler și Mail.Ru), Oleg Mamontov (șeful echipei de suport tehnic NGINX Inc) și Ruslan Ermilov (ru@FreeBSD.org).
Modificările din Angie 1.8.0:
- Funcționalitățile modulului http_acme, destinat automatizării obținerii și actualizării certificatelor de la autoritatea de certificare Let’s Encrypt, care utilizează protocolul ACME (Automatic Certificate Management Environment), au fost extinse:
- A fost adăugată suportul pentru metoda de verificare DNS-01, necesară pentru obținerea certificatelor cu măști care acoperă un grup de subdomenii (de exemplu, *.example.com).
- A fost adăugată directiva „acme_hook”, prin care se poate configura apelarea aplicațiilor externe cu gestionarii procesului de confirmare a proprietății domeniului. Aceste gestionari pot fi folosiți pentru integrarea cu servicii externe și furnizori de DNS.
- Pentru simplificarea diagnosticului, în jurnal a fost adăugată informație suplimentară, precum motivul actualizării certificatelor, lista completă domenii, identificatorul contului clientului, informații despre inactivitate și domeniul verificat.
- A fost adăugat parametrul „account_key” în directiva „acme_client” pentru reutilizarea unei chei de acces existente la server ACME, în locul generării automate a unei noi chei.
- A fost implementată posibilitatea de a specifica variabile în directiva „status_zone”, aplicată în modulele stream și http. Variabilele pot fi utilizate pentru a contabiliza dinamic statistica în legătură cu anumite gazde virtuale, definite într-un singur bloc „location” sau „server”. server { listen 80; server_name *.example.com; status_zone $host zone=host_zone:10; location / { proxy_pass http://example.com; } }
- Modul de comprimare gzip este compatibil cu biblioteca zlib-ng 2.2 și versiunile ulterioare.
- Implementarea directivei max_headers, care limitează numărul maxim de antete HTTP dintr-o cerere, a fost transferată din proiectul freenginx, ceea ce poate fi util pentru protecția împotriva atacurilor DoS.
- Au fost adăugate directivele http3_max_table_capacity și proxy_http3_max_table_capacity pentru a limita dimensiunea tabelului utilizat pentru comprimarea antetelor în HTTP/3.
- A fost adăugat suport pentru cross-compilation - acum compilarea poate fi realizată fără a rula scripturi autotest pe platforma țintă.
- O modificare a fost transferată din freenginx, care rezolvă problemele de livrare a răspunsurilor în timpul închiderii pașnice a proceselor de gestionare (gracefully shutdown) - conexiunile keep-alive sunt închise acum doar după expirarea timeout-ului specificat în directiva lingering_timeout.
- Pentru a obține valorile corecte atunci când se utilizează gazde virtuale, caching-ul variabilelor $ssl_server_name, $ssl_server_cert_type, $ssl_preread_protocol și $ssl_preread_server_name a fost dezactivat în modulul stream.
- Modificările propuse în versiunea nginx 1.27.3 au fost transferate din repository-ul proiectului nginx.
Sursa: opennet.ro
