Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/webserver-llc/angie

Angie - drop-in replacement for Nginx
https://github.com/webserver-llc/angie

adc apache http http3 https load-balancer nginx quic reverse-proxy

Last synced: about 1 month ago
JSON representation

Angie - drop-in replacement for Nginx

Awesome Lists containing this project

README

        

.. image:: misc/logo.gif
:alt: Angie logo
:target: https://angie.software/en/

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:

- Installation: https://angie.software/en/installation/

- Runtime configuration: https://angie.software/en/configuration/

- Development and contribution: https://angie.software/en/development/

- Troubleshooting and feedback channels: https://angie.software/en/troubleshooting/

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 `_.