.. image:: misc/logo.gif :alt: Angie logo :target: https://en.angie.software/ 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 in `English `__, `Russian `__, `Chinese `__, `Spanish `__, or `Portuguese `__: - `Installation `_ (`ru `__, `cn `__, `es `__, `pt `__) - `Runtime configuration `_ (`ru `__, `cn `__, `es `__, `pt `__) - `Troubleshooting and feedback channels `_ (`ru `__, `cn `__, `es `__, `pt `__) - `Development and contribution `_ (`ru `__, `cn `__, `es `__, `pt `__) 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/ - Dynamic updating of upstream groups based on events and labels from `Docker containers `_ (or similar tools like Podman) without server reload. - Flushing the shared memory zone in `proxy_cache_path `_ on disk preserves the cache index contents between restarts and updates, which eliminates the cache load delay and brings the server online even faster. - `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 `_.