/angie

Angie - drop-in replacement for Nginx

Primary LanguageCBSD 2-Clause "Simplified" LicenseBSD-2-Clause

Angie logo

Angie

Angie /ˈendʒi/ is an efficient, powerful, and scalable web server that was forked from nginx to act as a drop-in replacement, so you can use existing setups without major changes to module layout or configuration.

The project was conceived by ex-devs from the original nginx team to venture beyond the earlier vision.

Getting Started

To start using Angie, see the official documentation:

Features

On top of all the capabilities of nginx 1.27, Angie adds a number of its own advantages, including these:

  • 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.
  • Simplifying configuration: the location directive can define several matching expressions at once, which enables combining blocks with shared settings.
  • Exposing basic information about the web server, its configuration, as well as metrics of proxied servers, client connections, shared memory zones, and many other things via a RESTful API interface in JSON format.
  • Exporting statistics in Prometheus format with customizable templates.
  • Monitoring the server through the browser with the Console Light visual monitoring tool. See the online demo: https://console.angie.software/
  • Automatically updating lists of proxied servers matching a domain name or retrieving such lists from SRV DNS records.
  • Session binding mode, which directs all requests within one session to the same proxied server.
  • Recommissioning upstream servers after a failure smoothly using the slow_start option of the server directive.
  • Limiting the MP4 file transfer rate proportionally to its bitrate, thus reducing the bandwidth load.
  • Extending authorization and balancing capabilities for the MQTT protocol with the mqtt_preread directive under stream.
  • Informing balancing decisions with RDP protocol's session cookies via the rdp_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, enabled at build time.