About#

Angie Angie

Angie is an efficient, powerful and scalable web server, that was forked from nginx by some of its former core devs, with intention to extend functionality far beyond original version.

Angie is a drop-in replacement for nginx, so you can use existing nginx configuration without major changes.

Source code is published in read-only public repositories and is distributed under the BSD-like license.

Pre-built binaries are available as packages for wide range of Operation Systems on differents platforms and as Docker-images.

Current version#

Angie 1.2.0 released May 30, 2023

Changelog

Functionality#

  • All functionality of nginx 1.25.0, including HTTP/3 support.

  • The sticky directive and related options in the HTTP module upstream block, that allows to configure sticky sessions mode, where all requests of the session are routed to the same server.

  • The $upstream_sticky_status variable, that takes either "NEW", "HIT" or "MISS" values depending on success of requesting related upstream server with sticky sessions enabled.

  • Support for NTLS in the HTTP and stream modules using TongSuo TLS library, that can be enabled via the ‑‑with‑ntls build time option and configured with the http ssl_ntls / stream ssl_ntls and http proxy_ssl_ntls / stream proxy_ssl_ntls corresponding directives.

  • In HTTP ans stream proxy modules ability to specify multiple certificates with different types (RSA and ECDSA) and corresponding keys, using the proxy_ssl_certificate / proxy_ssl_certificate and proxy_ssl_certificate_key / proxy_ssl_certificate_key directives.

  • Display of version and build name in the master process title, which allows to get this information about a running server instance using the ps utility.

  • Ability to compress of “207 Multi-Status” responses by the gzip module.

  • The resolve option of the server directive in the HTTP module upstream block, that allows to monitor changes to the list of IP addresses corresponding to a domain name, and automatically update it without the need of reloading configuration.

  • The service option of the server directive in the HTTP module upstream block, that allows to retrieve lists of addresses from DNS SRV records, with basic priority support.

  • Detailed information and metrics for the groups of HTTP upstream servers in the statistics interface provided by the api directive.

  • autoindex uses natural sorting order for directory listings.

  • The api directive, that provides HTTP RESTful interface for accessing in JSON format basic information about a web server instance, as well as metrics of client connections, shared memory zones, DNS queries, HTTP requests, HTTP responses cache, TCP/UDP sessions of stream module, and zones of limit_conn/limit_req modules.

  • The status_zone directive in http module for specifying zone to collect request metrics in server and location contexts.

  • The status_zone directive in stream module for specifying zone to collect TCP/UDP session metrics.

  • The status_zone parameter of the resolver directive for specifying zone to collect metrics on DNS queries.

  • The $angie_version variable with version of Angie.

Angie functionality is expandable by loading 3rd-party nginx modules. Number of them is already available in our repository.