Angie 1.6.0, a Russian Nginx variant, is now available for download

Published Release of high-performance HTTP server and multi-protocol proxy server Angie 1.6.0branched from Nginx a group of former project developers who left the F5 Network company. Angie's original texts available under the BSD license. The project has received compatibility certificates with Russian operating systems Red OS, Astra Linux Special Edition, Rosa Chrome Server, Alt and FSTEC versions of Alt.

The development support is provided by the company “Web server“, formed in the fall of 2022 and received investment of $1 million. Among the co-owners of the Web Server company are: Valentin Bartenev (leader of the team that developed the Nginx Unit product), Ivan Poluyanov (former head of front-end developers Rambler and Mail.Ru), Oleg Mamontov (leader of the technical support team NGINX Inc) and Ruslan Ermilov (ru@FreeBSD .org).


Changes in Angie 1.6.0:

  • The directive ” has been added to the stream modulesticky“, which can be used in an upstream block to bind all connections in a session to one server when balancing TCP and UDP streams.
     map $ssl_preread_server_name $route { a; b; default ""; } upstream backend { server sid=a; server sid=b; sticky route $route; }
  • Added support for extracting Cookie values ​​from RDP connections using the “rdp_preread” in the stream module. Cookies will be written to variables $rdp_cookie And $rdp_cookie_NAMEwhich can be reflected in the log or used to bind the client RDP session to one server when load balancing.
     upstream rdp { hash $rdp_cookie_mstshash; # ... }
  • Added command line options “-m” and “-M” to list built-in and loaded modules.
  • The http_acme module, designed to automate the receipt and renewal of certificates using the ACME protocol (Automatic Certificate Management Environment, used by the Let's Encrypt certification authority), has the ability to be assembled with the BoringSSL cryptographic library.
  • Multiple directives are allowed to be specified.acme” in the “server” block, which allows you to configure the binding of several types of certificates to one virtual server at once.
     server { listen 443 ssl; server_name; ssl_certificate $acme_cert_rsa; ssl_certificate_key $acme_cert_key_rsa; ssl_certificate $acme_cert_ecdsa; ssl_certificate_key $acme_cert_key_ecdsa; acme rsa; acme ecdsa; }
  • Moved from the nginx project repository changesaccumulated in nginx 1.27, for example, a new module ngx_stream_pass_module was added (for forwarding accepted connections directly to any listening socket associated with modules such as http, stream and mail), and support for virtual servers was added to the stream module, the configuration of which is defined in the “server { … }” block using the server_name directive.
  • Added the “persistent” option, which allows you to avoid waiting for mandatory server status checks after reloading the configuration if the server has already been checked.
  • A new “feedback” balancing method has been introduced, which distributes the load across HTTP servers based on metrics received in the response from the proxied server or external service, which allows balancing to take into account such parameters as CPU load, the amount of free memory and the state of waiting queues.

Thanks for reading: