Die Ausgabe des hochleistungsfĂ€higen HTTP-Servers und des multiprotokollfĂ€higen Proxy-Servers Angie 1.11.0, abgeleitet von Nginx durch eine Gruppe ehemaliger Entwickler des Projekts, die das Unternehmen F5 Network verlassen haben, wurde veröffentlicht. Der Quellcode von Angie ist unter der BSD-Lizenz verfĂŒgbar. Das Projekt erhielt KompatibilitĂ€tszertifikate mit den russischen Betriebssystemen Red OS, Astra Linux Special Edition, Rosa Chrome Server, Alt und den FSTEC-Versionen von Alt.
Die Entwicklung wird von der Firma âWeb-Serverâ begleitet, die im Herbst 2022 gegrĂŒndet wurde und Investitionen in Höhe von 1 Million Dollar erhalten hat. Zu den Mitbesitzern der Firma Web-Server gehören: Valentin Bartenev (Teamleiter, der das Produkt Nginx Unit entwickelt hat), Ivan Poluyanov (ehemaliger Leiter der Frontend-Entwickler bei Rambler und Mail.Ru), Oleg Mamontev (Leiter des technischen Supports bei NGINX Inc.) und Ruslan Ermilov (ru@FreeBSD.org).
Ănderungen in Angie 1.11.0:
- Ein neues Modul âhttp-metricâ wurde hinzugefĂŒgt, das es ermöglicht, in Echtzeit beliebige HTTP-Metriken in verschiedenen Phasen der Anfragebearbeitung zu sammeln und diese mit verschiedenen Methoden (ZĂ€hler, Histogramme, gleitende Durchschnitte usw.) zu aggregieren. Der Zugriff auf die gesammelten Daten erfolgt in den Formaten JSON und Prometheus ĂŒber die HTTP-API (\/status\/http\/metric_zones\/), sowie ĂŒber Variablen und Protokolle.
- Die Möglichkeiten im Zusammenhang mit der UnterstĂŒtzung des ACME-Protokolls wurden erweitert: UnterstĂŒtzung fĂŒr ALPN-Validierung hinzugefĂŒgt, die Anzeige des Status der Erneuerung von Zertifikaten in der HTTP-API \/status\/http\/acme_clients\/ (mit UnterstĂŒtzung fĂŒr Prometheus) verbessert, die Konfiguration von HTTP-BestĂ€tigungen vereinfacht und der Zugriff auf Zertifikate aus dem Block stream ermöglicht. Die HTTP-Validierung in ACME kann jetzt ohne server-Blöcke mit der Direktive listen 80 in der Konfiguration betrieben werden (fĂŒr die Ănderung des hörenden Ports wird die Direktive acme_http_port vorgeschlagen). Es wird eine automatische Berechnung der ungefĂ€hren GröĂe des erhaltenen Zertifikats sichergestellt (fĂŒr Zertifikate mit einer groĂen Anzahl von Domains kann jetzt auf die Konfiguration des Parameters max_cert_size in der Direktive acme_client verzichtet werden). Die maximale GröĂe der Antwort vom ACME-Server wird jetzt durch die Direktive acme_max_response_size begrenzt.
- Im Modul http_image_filter wurde die UnterstĂŒtzung fĂŒr die Formate AVIF und HEIC hinzugefĂŒgt. In die Direktive image_filter wurde der Parameter convert zur Konvertierung zwischen Bildformaten eingefĂŒgt.
- Die UnterstĂŒtzung fĂŒr die TLS-Erweiterung ECH (Encrypted ClientHello) wurde implementiert, die die Weiterentwicklung der ESNI-Erweiterung (Encrypted Server Name Indication) darstellt und zum VerschlĂŒsseln von Informationen ĂŒber die TLS-Session-Parameter verwendet wird, wie z. B. den angeforderten Domainnamen. Die Datei mit dem privaten SchlĂŒssel fĂŒr ECH wird durch die Direktive ssl_encrypted_hello_key festgelegt, und Informationen zur Verwendung von ECH sind ĂŒber die Variable $ssl_encrypted_hello verfĂŒgbar.
- Im Stream-Modul wurde die UnterstĂŒtzung fĂŒr das PROXYv2-Protokoll beim Traffic zu den proxied Targets hinzugefĂŒgt. Server.
- Die Möglichkeit, die Anzahl der Elemente in Listen und Objekten beim Export von Prometheus-Metriken zu zĂ€hlen, wurde hinzugefĂŒgt (Routen, die mit einem SchrĂ€gstrich enden, geben jetzt die Anzahl der Elemente in der entsprechenden API-Sammlung zurĂŒck).
- Eine Variable $sent_body wurde hinzugefĂŒgt, die den Körper der Antwort des Subrequests oder der Anfrage vom Clientmodul enthĂ€lt.
- Eine Variable $upstream_cache_key wurde hinzugefĂŒgt, die den verwendeten Cache-SchlĂŒssel enthĂ€lt.
- Im Mail-Proxy wurde die UnterstĂŒtzung fĂŒr die Authentifizierungsmethoden XOAUTH2 und OAUTHBEARER implementiert.Server Die UnterstĂŒtzung fĂŒr den Build mit der von Amazon entwickelten Krypto-Bibliothek AWS-LC wurde implementiert.
- Probleme mit dem Build unter NetBSD 10.0 wurden gelöst.
- Die Proxy- und Cache-Implementierung von GET- und HEAD-Anfragen wurde verbessert.
- Probleme mit HTTP/3, die mit der Degradierung der ProtokollfunktionalitĂ€t wĂ€hrend des Reloads und dem Absturz nach einem binĂ€ren Update verbunden sind, wurden behoben; die Routing-Funktion fĂŒr QUIC-Pakete zwischen Prozessen wurde durch Verbesserungen im BPF-Code optimiert.
- Ănderungen, die in der Version nginx 1.29.3 vorgeschlagen wurden, wurden aus dem nginx-Projektrepository ĂŒbernommen, mit Ausnahme der Direktiven add_header_inherit und add_trailer_inherit. Einzelne Verbesserungen wurden aus FreeNginx ĂŒbernommen.
- Die hochperformante HTTP-Server- und Multi-Protokoll-Proxy-Server-Version Angie 1.11.0, die von Nginx abgezweigt wurde, wurde veröffentlicht; sie stammt von einem Team ehemaliger Entwickler des Projekts, das das Unternehmen F5 Networks verlassen hat.
Quelle: opennet.ru
