Die leistungsstarke HTTP-Server- und Multi-Protokoll-Proxy-Server-Version Angie 1.8.0, abgeleitet von Nginx durch ein Team ehemaliger Entwickler des Projekts, das die Firma F5 Network verlassen hat, wurde vorgestellt. Die Quelltexte von Angie sind unter der BSD-Lizenz verfügbar. Das Projekt hat Kompatibilitätszertifikate mit den russischen Betriebssystemen Red OS, Astra Linux Special Edition, Rosa Chrom Server, Alt und der FSTEK-Version von Alt erhalten.
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.8.0:
- Die Möglichkeiten des http_acme-Moduls, das für die Automatisierung der Beschaffung und Aktualisierung von Zertifikaten von der Zertifizierungsstelle Let’s Encrypt verantwortlich ist und das ACME-Protokoll (Automatic Certificate Management Environment) nutzt, wurden erweitert:
- Unterstützung für die DNS-01-Überprüfungsmethode hinzugefügt, die für die Erlangung von Zertifikaten mit Masken erforderlich ist, die eine Gruppe von Subdomains abdecken (z. B. *.example.com).
- Die Direktive „acme_hook“ wurde hinzugefügt, über die externe Anwendungen mit Protokollhandlern des Domainbesitzverifikationsprozesses aufgerufen werden können. Solche Handler können zur Integration mit externen Diensten und DNS-Anbietern verwendet werden.
- Zur Vereinfachung der Diagnose wurde zusätzliche Information im Log hinzugefügt, wie z. B. der Grund für die Aktualisierung des Zertifikats, die vollständige Liste Domains, die Kunden-Kontonummer, Inaktivitätsinformationen und die zu überprüfende Domain.
- In die Direktive „acme_client“ wurde der Parameter „account_key“ hinzugefügt, um einen bestehenden Zugriffsschlüssel wiederzuverwenden zu einem Server für ACME, anstelle eines neuen Schlüssels automatisch zu generieren.
- Die Möglichkeit, Variablen in der Direktive „status_zone“, die in den Modulen stream und http verwendet wird, anzugeben, wurde implementiert. Variablen können verwendet werden, um die Statistiken dynamisch an einzelnen virtuellen Hosts zu erfassen, die in einem Block „location“ oder „server“ definiert sind. server { listen 80; server_name *.example.com; status_zone $host zone=host_zone:10; location / { proxy_pass http://example.com; } }
- Im Gzip-Kompressionsmodul wurde die Kompatibilität mit der Bibliothek zlib-ng 2.2 und neueren Versionen sichergestellt.
- Aus dem freenginx-Projekt wurde die Implementierung der Direktive max_headers übernommen, die die maximale Anzahl von HTTP-Headern in einer Anfrage einschränkt, was nützlich sein kann, um sich vor DoS-Angriffen zu schützen.
- Die Direktiven http3_max_table_capacity und proxy_http3_max_table_capacity wurden hinzugefügt, um die Größe der Tabelle, die für die Kompression der Header in HTTP/3 verwendet wird, zu begrenzen.
- Die Unterstützung für Cross-Compiling wurde hinzugefügt – die Erstellung kann nun ohne das Ausführen von autotest-Skripten auf der Zielplattform erfolgen.
- Eine Änderung aus freenginx wurde übernommen, die ein Problem mit der Zustellung von Antworten während des sanften Herunterfahrens von Handler-Prozessen (gracefully shutdown) löst – Keep-Alive-Verbindungen werden jetzt erst nach Ablauf des in der Direktive lingering_timeout festgelegten Zeitlimits geschlossen.
- Um aktuelle Werte bei der Verwendung von virtuellen Hosts zu erhalten, wurde im Stream-Modul die Cache-Nutzung für die Variablen $ssl_server_name, $ssl_server_cert_type, $ssl_preread_protocol und $ssl_preread_server_name deaktiviert.
- Änderungen aus dem Nginx-Projekt-Repository, die in der Version Nginx 1.27.3 vorgeschlagen wurden, wurden übernommen.
Quelle: opennet.ru
