Angie
Angie - drop-in replacement for nginx
.. image:: misc/logo.gif :alt: Angie logo :target: https://en.angie.software/ The project is written primarily in C, distributed under the BSD 2-Clause "Simplified" License license, first published in 2022. It has gained significant community traction with 2,462 stars and 101 forks on GitHub. Key topics include: adc, apache, http, http3, https.
.. 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 <https://en.angie.software/angie/docs/>,
Russian <https://angie.software/angie/docs/>,
Chinese <https://cn.angie.software/angie/docs/>,
Spanish <https://es.angie.software/angie/docs/>, or
Portuguese <https://pt.angie.software/angie/docs/>__:
-
Installation <https://en.angie.software/angie/docs/installation/>_
(ru <https://angie.software/angie/docs/installation/>,
cn <https://cn.angie.software/angie/docs/installation/>,
es <https://es.angie.software/angie/docs/installation/>,
pt <https://pt.angie.software/angie/docs/installation/>) -
Runtime configuration <https://en.angie.software/angie/docs/configuration/>_
(ru <https://angie.software/angie/docs/configuration/>,
cn <https://cn.angie.software/angie/docs/configuration/>,
es <https://es.angie.software/angie/docs/configuration/>,
pt <https://pt.angie.software/angie/docs/configuration/>) -
Troubleshooting and feedback channels <https://en.angie.software/angie/docs/troubleshooting/>_
(ru <https://angie.software/angie/docs/troubleshooting/>,
cn <https://cn.angie.software/angie/docs/troubleshooting/>,
es <https://es.angie.software/angie/docs/troubleshooting/>,
pt <https://pt.angie.software/angie/docs/troubleshooting/>) -
Development and contribution <https://en.angie.software/angie/docs/development/>_
(ru <https://angie.software/angie/docs/development/>,
cn <https://cn.angie.software/angie/docs/development/>,
es <https://es.angie.software/angie/docs/development/>,
pt <https://pt.angie.software/angie/docs/development/>)
Features
On top of all the capabilities of
nginx 1.29 <https://nginx.org/en/CHANGES>_,
Angie adds a number of its own advantages, including these:
-
Supporting
HTTP/3 <https://en.angie.software/angie/docs/configuration/modules/http/http_v3/>_
for client connections, as well as forproxied server <https://en.angie.software/angie/docs/configuration/modules/http/http_proxy/#proxy-http-version>_
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 <https://en.angie.software/angie/docs/configuration/acme/>_ with HTTP, DNS,
and ALPN challenge support. -
Simplifying configuration: the
locationdirective can define several
matching expressions at once, which enablescombining <https://en.angie.software/angie/docs/configuration/modules/http/#combined-locations>_
blocks with shared settings. -
Exposing basic information about the web server, its
configuration <https://en.angie.software/angie/docs/configuration/modules/http/http_api/#a-api-config-files>,
as well asmetrics <https://en.angie.software/angie/docs/configuration/modules/http/http_api/#metrics>
of proxied servers, client connections, shared memory zones, and many other
things via a RESTfulAPI <https://en.angie.software/angie/docs/configuration/modules/http/http_api/#a-api>_
interface in JSON format. -
Exporting statistics in
Prometheus <https://en.angie.software/angie/docs/configuration/modules/http/http_prometheus/#prometheus>_
format withcustomizable templates <https://en.angie.software/angie/docs/configuration/modules/http/http_prometheus/#prometheus-template>_. -
Monitoring the server through the browser with the
Console Light <https://en.angie.software/angie/docs/configuration/monitoring/>_ visual
monitoring tool. See the online demo: https://console.angie.software/ -
Dynamic updating of upstream groups based on events and labels from
Docker containers <https://en.angie.software/angie/docs/configuration/modules/http/http_docker/#http-docker>_
(or similar tools like Podman) without server reload. -
Flushing the shared memory zone in
proxy_cache_path <https://en.angie.software/angie/docs/configuration/modules/http/http_proxy/#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 <https://en.angie.software/angie/docs/configuration/modules/http/http_upstream/#u-sticky>_
mode, which directs all requests within one session to the same proxied
server. -
Recommissioning upstream servers after a failure smoothly using the
slow_startoption of theserver <https://en.angie.software/angie/docs/configuration/modules/http/http_upstream/#u-server>_
directive. -
PROXY Protocol V2 with the ability to pass arbitrary
TLV values <https://en.angie.software/angie/docs/configuration/modules/stream/stream_proxy/#s-proxy-protocol-tlv>_. -
Limiting the
MP4 file transfer rate <https://en.angie.software/angie/docs/configuration/modules/http/http_mp4/#mp4-limit-rate>_
proportionally to its bitrate, thus reducing the bandwidth load. -
Processing HEIC and AVIF formats and
image conversion <https://en.angie.software/angie/docs/configuration/modules/http/http_image_filter/#id1>_. -
Extending authorization and balancing capabilities for the MQTT protocol with
themqtt_preread <https://en.angie.software/angie/docs/configuration/modules/stream/stream_mqtt_preread/#s-mqtt-preread>_
directive understream. -
Informing balancing decisions with RDP protocol's session cookies via the
rdp_preread <https://en.angie.software/angie/docs/configuration/modules/stream/stream_rdp_preread/#rdp-preread>_
directive understream. -
Pre-built
binary packages <https://en.angie.software/angie/docs/installation/oss_packages/#install-thirdpartymodules-oss>_
for many popular third-party modules. -
Server <https://en.angie.software/angie/docs/configuration/modules/http/http_ssl/#ssl-ntls>-
andclient-side <https://en.angie.software/angie/docs/configuration/modules/http/http_proxy/#proxy-ssl-ntls>
support for NTLS when using theTongSuo <https://github.com/Tongsuo-Project/Tongsuo>_ TLS library, enabledat build time <https://en.angie.software/angie/docs/installation/sourcebuild/#install-source-features>_.
Contributors
Showing top 12 contributors by commit count.