About

About#

Angie PRO /ˈendʒi/ is an efficient, powerful, and scalable web server that was forked from nginx:

  • Conceived by ex-devs from the original team to venture beyond the earlier vision and act as a drop-in replacement without major changes to module setup or configuration.

  • Includes all capabilities of nginx 1.25.4 and a number of new features.

We build binary packages for a range of systems and architectures. For licensing and contractual queries:

A choice of ready-made Angie PRO packages, Docker images, and source code build options.

Startup and run-time control; configuration, modules, directives, and variables.

Resolving technical issues with Angie PRO, available feedback routes.

Information for developers who want to contribute to the project.

Current Version#

Angie PRO 1.5.0 was released on 27.03.2024. New versions appear quarterly; in between, we publish urgent fixes and important updates.

Also, see the entire changelog.

Features#

Core advantages over nginx include the following:

  • Supporting HTTP/3 for client connections, as well as for proxied server connections, with the ability to independently use different protocol versions (HTTP/1.x, HTTP/2, HTTP/3) on opposite sides.

  • Automatic HTTPS provisions TLS certificates using built-in ACME support.

  • Waiting queue for requests, configured using the queue directive in the upstream block.

  • Simplified configuration: the location directive can define several matching expressions at once, which enables combining blocks that share configuration.

  • Exposing basic information about the web server, its configuration files, as well as metrics of proxied servers, client connections, shared memory zones, and many other things via a RESTful API interface in JSON format.

  • Managing proxied servers through a RESTful dynamic configuration API.

  • Exporting statistics in Prometheus format with customizable templates.

  • Monitoring and controlling the server through the browser with the Console Light visual monitoring tool. See the online demo: https://console.angie.software/

  • Server signature on error pages and in the Server header field can be hidden or overridden with the server_tokens directive.

  • Automatically updating lists of proxied servers matching a domain name or retrieve such lists from SRV DNS records.

  • Proactively checking the state of proxied servers by sending periodic probing requests.

  • Load balancing based on average response time from proxied servers with customizable smoothing factor.

  • Session binding mode, which directs all requests within one session to the same proxied server.

  • Conditional binding of client connections to the proxied server connection, which also enables proxying NTLM.

  • Additional binding mode sticky learn, enabling detection and storage of client sessions in shared memory.

  • Recommissioning upstream servers after a failure smoothly using the slow_start option of the server directive.

  • Cache sharding in the proxy module, which enables distributing it between locations depending on the properties of the response.

  • Extending authorization and balancing capabilities for the MQTT protocol with the mqtt_preread directive under stream.

  • Pre-built binary packages for many popular third-party modules.

  • Server- and client-side support for NTLS when using the TongSuo TLS library.