Angie 1.11.0, vysoce výkonný HTTP server a multiprotokolový proxy server, který byl oddělován od Nginxu skupinou bývalých vývojářů, kteří opustili F5 Network, byl vydán. Zdrojový kód Angie je k dispozici pod licencí BSD. Projekt získal certifikáty kompatibility s ruskými operačními systémy Red OS. Astra Linux Speciální edice, Rosa Chrome Server, verze Alt a FSTEC pro Alt.
Vývoj podporuje společnost Web Server, která byla založena na podzim roku 2022 a získala investice ve výši 1 milionu USD. Mezi spoluvlastníky společnosti Web Server patří Valentin Bartenev (vedoucí týmu, který vyvinul produkt Nginx Unit), Ivan Poluyanov (bývalý šéf front-end vývojářů ve společnostech Rambler a Mail.Ru), Oleg Mamontov (vedoucí týmu technické podpory NGINX Inc) a Ruslan Ermilov (ru@FreeBSD.org).
Změny v Angie 1.11.0:
- Byl přidán modul „http-metric“, který umožňuje sběr libovolných HTTP metrik v reálném čase v různých fázích zpracování požadavků a agregaci pomocí různých metod (čítače, histogramy, klouzavé průměry atd.). Přístup k nasbíraným datům je poskytován ve formátech JSON a Prometheus prostřednictvím HTTP API (/status/http/metric_zones/), a také prostřednictvím proměnných a logů.
- Možnosti podpory protokolu ACME byly rozšířeny: byla přidána podpora ověřování ALPN, vylepšeno zobrazení stavu opětovného vydání certifikátu v HTTP API /status/http/acme_clients/ (s podporou Prometheus), zjednodušena konfigurace potvrzení HTTP a vylepšen přístup k certifikátům z bloku stream. Ověřování HTTP v ACME nyní může fungovat bez bloků serveru s direktivou listen 80 v konfiguraci (direktiva acme_http_port je nyní k dispozici pro změnu naslouchajícího portu). Přibližná velikost přijatého certifikátu se nyní vypočítává automaticky (u certifikátů s velkým počtem domén se nyní můžete vyhnout nastavování parametru max_cert_size v direktivě acme_client). Maximální velikost odpovědi serveru ACME je nyní omezena direktivou acme_max_response_size.
- Do modulu http_image_filter byla přidána podpora pro formáty AVIF a HEIC. Do direktivy image_filter byl přidán parametr convert pro převod mezi obrazovými formáty.
- Byla implementována podpora pro rozšíření TLS ECH (Encrypted ClientHello), které navazuje na vývoj rozšíření ESNI (Encrypted Server Name Indication) a používá se k šifrování informací o parametrech relace TLS, jako je například požadovaný název domény. Soubor soukromého klíče ECH je určen pomocí direktivy ssl_encrypted_hello_key a informace o použití ECH jsou k dispozici prostřednictvím proměnné $ssl_encrypted_hello.
- Modul streamu nyní podporuje protokol PROXYv2 při přenosu provozu do proxyovaných zařízení. servery.
- Při exportu metrik Prometheus přidána možnost počítat počet položek v seznamech a objektech (cesty končící lomítkem nyní vracejí počet položek v odpovídající kolekci API).
- Přidána proměnná $sent_body, která obsahuje tělo odpovědi na podpožadavek nebo požadavek z klientského modulu.
- Přidána proměnná $upstream_cache_key, která obsahuje použitý klíč pro ukládání do mezipaměti.
- V poštovní proxy-server Byla implementována podpora pro ověřovací metody XOAUTH2 a OAUTHBEARER.
- Byla implementována podpora pro sestavování pomocí kryptografické knihovny AWS-LC, vyvinuté společností Amazon.
- Opraveny problémy se sestavováním na NetBSD 10.0.
- Vylepšené proxy a správné ukládání požadavků GET a HEAD do mezipaměti.
- Opraveny problémy HTTP/3 související s degradací protokolu během operace opětovného načítání a pádem po aktualizaci binárního souboru; vylepšeno směrování QUIC paketů mezi procesy zdokonalením kódu BPF.
- Změny navržené v nginx 1.29.3 byly portovány z repozitáře projektu nginx, s výjimkou direktiv add_header_inherit a add_trailer_inherit. Byla portována i některá vylepšení z FreeNginx.
Zdroj: opennet.ru
