The release of the high-performance HTTP server and multi-protocol proxy server Angie 1.8.0, forked from Nginx by a group of former developers who left F5 Networks, has been introduced. The source code for Angie is available under the BSD license. The project has received compatibility certificates with Russian operating systems Red OS, Astra Linux Special Edition, Rosa Chrome Server, Alt, and FSTEC versions of Alt.
The development is supported by the company 'Web Server,' formed in the autumn of 2022 with an investment of $1 million. Among the co-founders of Web Server are: Valentin Bartenev (team leader who developed the Nginx Unit product), Ivan Poluyanov (former head of frontend developers at Rambler and Mail.Ru), Oleg Mamontov (head of the technical support team at NGINX Inc), and Ruslan Ermilov (ru@FreeBSD.org).
Changes in Angie 1.8.0:
- The capabilities of the http_acme module, designed for automating the acquisition and renewal of certificates from the Let’s Encrypt certificate authority using the ACME (Automatic Certificate Management Environment) protocol, have been expanded:
- Support for the DNS-01 challenge method has been added, necessary for obtaining certificates with wildcard domains covering a group of subdomains (e.g., *.example.com).
- The directive ‘acme_hook’ has been added, allowing the configuration of external application calls with handlers for the domain ownership verification process. Such handlers can be used for integration with external services and DNS providers.
- To simplify diagnostics, additional information such as the reason for certificate renewal, a complete list domains, client account identifier, inactivity details, and the domain under verification has been added to the logs.
- A parameter ‘account_key’ has been added to the ‘acme_client’ directive for reusing an existing access key for server ACME, instead of automatically generating a new key.
- The ability to specify variables in the ‘status_zone’ directive used in the stream and http modules has been implemented. Variables can be used for dynamically accounting statistics related to specific virtual hosts defined within a single ‘location’ or ‘server’ block. server { listen 80; server_name *.example.com; status_zone $host zone=host_zone:10; location / { proxy_pass http://example.com; } }
- The gzip compression module has been made compatible with zlib-ng version 2.2 and later.
- The implementation of the directive max_headers from the freenginx project has been transferred, which limits the maximum number of HTTP headers in a request, useful for protection against DoS attacks.
- The directives http3_max_table_capacity and proxy_http3_max_table_capacity have been added to limit the size of the table used for header compression in HTTP/3.
- Cross-compilation support has been added — builds can now be performed without the need to run autotest scripts on the target platform.
- A change has been migrated from freenginx that resolves the issue with response delivery errors during the graceful shutdown of handler processes — keep-alive connections are now only closed after the timeout specified in the lingering_timeout directive.
- To obtain current values when using virtual hosts, caching of the variables $ssl_server_name, $ssl_server_cert_type, $ssl_preread_protocol, and $ssl_preread_server_name has been disabled in the stream module.
- Changes proposed in version 1.27.3 of the nginx project repository have been migrated.
Source: opennet.ru
