Izdan je pregled visoko performantnog HTTP servera i višeprotokolske proxy usluge Angie 1.11.0, koji je odvojen od Nginx-a od strane grupe bivših developera projekta koji su napustili kompaniju F5 Network. Izvorni kodovi Angie dostupni su pod BSD licencom. Projekat je dobio sertifikate o kompatibilnosti sa ruskim operativnim sistemima Red OS, Astra Linux Special Edition, Rosa Chrome Server, Alt i FSTEK verzijama Alta.
Razvoj projekta podržava kompanija 'Web-server', osnovana u jesen 2022. godine koja je dobila investicije u iznosu od 1 milion dolara. Među suvlasnicima kompanije Web-server su: Valentin Bartenjev (vođa tima koji je razvijao produkt Nginx Unit), Ivan Polujanov (bivši vođa frontend developera u Rambler i Mail.Ru), Oleg Mamontov (vođa tima tehničke podrške NGINX Inc) i Ruslan Ermilov (ru@FreeBSD.org).
Promene u Angie 1.11.0:
- Dodata je modula 'http-metric', koja omogućava prikupljanje bilo kojih HTTP metrika u realnom vremenu na različitim fazama obrade zahteva i njihovo agregiranje koristeći različite metode (brojače, histograme, pokretne prosek i dr.). Pristup prikupljenim podacima moguć je u formatima JSON i Prometheus putem HTTP API-ija (\/status\/http\/metric_zones\/), kao i putem promenljivih i logova.
- Proširene su mogućnosti vezane uz podršku za ACME protokol: dodata je podrška za ALPN verifikaciju, unapređen je prikaz statusa ponovnog izdavanja sertifikata u HTTP API-ju \/status\/http\/acme_clients\/ (uz podršku za Prometheus), pojednostavljena je konfiguracija HTTP potvrda i obezbeđen je pristup sertifikatima iz bloka stream. HTTP verifikacija u ACME-u sada može raditi bez blokova server uz direktivu listen 80 u konfiguraciji (za promenu porta na kojem se sluša, predložena je direktiva acme_http_port). Obezbeđeno je automatsko izračunavanje približne veličine dobijenog sertifikata (za sertifikate sa velikim brojem domena, sada je moguće izbjeći podešavanje parametra max_cert_size u direktivi acme_client). Maksimalna veličina odgovora od ACME servera sada se ograničava direktivom acme_max_response_size.
- Modulu http_image_filter dodata je podrška za formate AVIF i HEIC. U direktivu image_filter dodat je parametar convert za konverziju između formata slika.
- Implementirana je podrška za TLS proširenje ECH (Encrypted ClientHello), koje nastavlja razvoj proširenja ESNI (Encrypted Server Name Indication) i koristi se za šifriranje informacija o parametrima TLS sesija, kao što je traženo domeno ime. Datoteka sa privatnim ključem za ECH definiše se putem direktive ssl_encrypted_hello_key, dok su informacije o korišćenju ECH dostupne putem varijable $ssl_encrypted_hello.
- U modul stream dodata je podrška za PROXYv2 protokol pri preusmeravanju saobraćaja ka proksiranim serverima. strežnikov.
- Dodana je mogućnost prebrojavanja elemenata u listama i objektima prilikom izvoza metrika Prometheus (putevi koji se završavaju kosom crtom sada vraćaju broj elemenata u odgovarajućoj kolekciji API).
- Dodata je varijabla $sent_body, koja sadrži telo odgovora podzajma ili zahteva od klijentskog modula.
- Dodata je varijabla $upstream_cache_key, koja sadrži korišćeni ključ za keširanje.
- U mail proxy-justrežnikom implementirana je podrška za metode autentifikacije XOAUTH2 i OAUTHBEARER.
- Implementirana je podrška za gradnju sa kriptografskom bibliotekom AWS-LC, koju razvija Amazon.
- Rešeni su problemi prilikom gradnje u NetBSD 10.0.
- Poboljšano je proksiranje i pravilno keširanje GET i HEAD zahteva.
- Ispravljeni su problemi sa HTTP/3 koji su se odnosili na degradaciju rada protokola tokom operacije ponovnog učitavanja i na kvar nakon binarnog ažuriranja; poboljšana je rutiranje QUIC paketa između procesa zahvaljujući unapređenju BPF koda.
- Iz repo projekta nginx prenete su izmene predložene u verziji nginx 1.29.3, osim direktiva add_header_inherit i add_trailer_inherit. Prenete su pojedinačna poboljšanja iz FreeNginx.
Izvor: opennet.ru
