De uitgave van de hoogperformante HTTP-server en multiprotocol proxyserver Angie 1.8.0, afgeleid van Nginx door een groep voormalige ontwikkelaars van het project, die uit het bedrijf F5 Networks zijn vertrokken, is gepresenteerd. De broncode van Angie is beschikbaar onder de BSD-licentie. Het project heeft compatibiliteitscertificaten ontvangen voor Russische besturingssystemen zoals Red OS, Astra Linux Special Edition, Rosa Chrome Server, Alt en de FSTEC-versies van Alt.
Het onderhoud van de ontwikkeling wordt geleid door het bedrijf āWeb-serverā, dat in de herfst van 2022 werd opgericht en 1 miljoen dollar aan investeringen heeft ontvangen. Onder de mede-eigenaren van het bedrijf Web-server bevinden zich: Valentin Bartenev (teamleider van het Nginx Unit-project), Ivan Poluyanov (voormalig hoofd front-end developers van Rambler en Mail.Ru), Oleg Mamontov (hoofd technische ondersteuning van NGINX Inc) en Ruslan Yermilov (ru@FreeBSD.org).
Wijzigingen in Angie 1.8.0:
- De mogelijkheden van de http_acme-module, die is ontworpen voor de automatisering van het verkrijgen en vernieuwen van certificaten van de certificeringsinstantie Letās Encrypt, die het ACME-protocol (Automatic Certificate Management Environment) gebruikt, zijn uitgebreid:
- Ondersteuning toegevoegd voor de DNS-01 verificatiemethode, die nodig is voor het verkrijgen van certificaten met masks die een groep subdomeinen dekken (bijv. *.example.com).
- De directive 'acme_hook' is toegevoegd, waarmee externe applicaties kunnen worden geconfigureerd om te worden aangeroepen met handlers voor het proces van domeineigendom bevestigen. Dergelijke handlers kunnen worden gebruikt voor integratie met externe diensten en DNS-providers.
- Voor het vereenvoudigen van de diagnostiek zijn er extra informatie in de log toegevoegd, zoals de reden voor de certificaatvernieuwing, een volledige lijst domeinen, het klantaccount ID, informatie over inactiviteit en het gecontroleerde domein.
- Aan de directive 'acme_client' is de parameter 'account_key' toegevoegd om een bestaand toegangssleutel voor server ACME opnieuw te gebruiken, in plaats van automatisch een nieuwe sleutel te genereren.
- De mogelijkheid om variabelen te specificeren in de directive 'status_zone', die wordt gebruikt in de modules stream en http, is geïmplementeerd. Variabelen kunnen worden gebruikt voor dynamische statistieken in relatie tot afzonderlijke virtuele hosts, gedefinieerd in één 'location' of 'server' blok. server { listen 80; server_name *.example.com; status_zone $host zone=host_zone:10; location / { proxy_pass http://example.com; } }
- In de gzip-compressiemodule is compatibiliteit met de zlib-ng 2.2 bibliotheek en nieuwere versies verzekerd.
- De implementatie van de directive max_headers, die het maximale aantal HTTP-headers in een verzoek beperkt, is overgenomen uit het freenginx-project, wat nuttig kan zijn ter bescherming tegen DoS-aanvallen.
- De directives http3_max_table_capacity en proxy_http3_max_table_capacity zijn toegevoegd om de grootte van de tabel te beperken die wordt gebruikt voor het comprimeren van headers in HTTP/3.
- Ondersteuning voor cross-compilatie is toegevoegd - nu kan de build plaatsvinden zonder dat het nodig is om autotest-scripts op het doelsysteem uit te voeren.
- Verandering uit freenginx die een probleem oplost met het afleveren van antwoorden tijdens het soepel afsluiten van processen - keep-alive verbindingen worden nu pas gesloten na het verstrijken van de timeout ingesteld in de lingering_timeout-directive.
- Voor actuele waarden bij het gebruik van virtuele hosts is cache in de stream-module uitgeschakeld voor de variabelen $ssl_server_name, $ssl_server_cert_type, $ssl_preread_protocol en $ssl_preread_server_name.
- Veranderingen voorgesteld in versie nginx 1.27.3 zijn overgenomen uit de nginx-projectrepository.
Bron: opennet.ru
