Built-in Modules#
This guide describes the built-in modules of Angie, provides configuration examples, lists their directives and parameters, as well as built-in variables.
Core Module#
Responsible for managing service files, processes, and other Angie modules. |
HTTP Modules#
Core functionality for processing HTTP requests and responses, managing the HTTP server, connections, and static files. | |
Access control based on IPs and CIDR ranges. | |
Automatic retrieval of SSL certificates using the ACME protocol. | |
Inserts a predefined snippet before or after the response body. | |
RESTful HTTP interface to obtain basic information about the web server and its statistics in JSON format, as well as to manage groups of proxied servers. | |
Basic HTTP authentication for access control based on the username and password. | |
Authorization using a subrequest to an external HTTP service. | |
Automatic directory listing without an index file. | |
Browser (deprecated) | Browser identification based on the |
Configuration and conversion of response encoding. | |
File management on the server using the WebDAV protocol. | |
Serves a one-pixel transparent GIF. | |
Proxying requests to a FastCGI server. | |
Pseudo-streaming of Flash Video (FLV) files. | |
Conversion of IP addresses into predefined variable values. | |
Retrieves IP address data using geolocation by MaxMind GeoIP databases. | |
Proxying requests to a gRPC server. | |
Decompression of compressed GZip responses for modification or in cases where the client does not support compression. | |
Compression of responses using the GZip method to save traffic. | |
Serves static files pre-compressed using the GZip method. | |
Modification of response header fields. | |
Handles requests using the HTTP/2 protocol. | |
Handles requests using the HTTP/3 protocol. | |
Image transformation. | |
Configuration of index files
that serve requests with a trailing slash ( | |
Handlers to extend functionality by implementing additional logic in njs, a subset of the JavaScript language. | |
Limiting the number of concurrent requests (active connections) to protect against overload. | |
Limiting the request rate to protect against overload and password guessing. | |
Configuration of request logs to track resource access for monitoring and analysis. | |
Converts variables based on predefined key-value pairs. | |
Retrieval of responses from a Memcached server. | |
Mirroring requests to other servers. | |
Pseudo-streaming of MP4 files. | |
Handlers to extend functionality by implementing additional logic in the Perl language. | |
Server metrics in a Prometheus-compatible format for monitoring and statistics collection. | |
Reverse proxying requests to other HTTP servers. | |
Random selection of an index file for requests
with a trailing slash ( | |
Client address and port identification when running behind another proxy server. | |
| |
Conditional URI modification, redirects, variable setting, and configuration selection. | |
Proxying requests to a SCGI server. | |
Secure link creation with the ability to restrict access time. | |
Splitting requests into multiple sub-requests for better caching of large responses. | |
Creating variables for A/B testing, canary releases, sharding, and other scenarios that require a proportional group split. | |
Processing SSI (Server Side Includes) commands in responses. | |
SSL/TLS configuration to handle HTTPS requests. | |
Stub Status (deprecated) | Global connection and request counters in a text-based format. |
Search and replace snippets in server responses. | |
Configures groups of proxied servers for load balancing. | |
Configures health probes for groups of proxied servers. | |
Issuing and processing unique client identifier cookies for session tracking and analytics. | |
Proxying requests to a uWSGI server. | |
XML transformation using XSLT stylesheets. |
Streaming Modules#
Basic stream server functionality for balancing TCP and UDP protocols at the L4 level. | |
Access control based on IPs and CIDR ranges. | |
Conversion of IP addresses into predefined variable values. | |
Retrieves IP address data using geolocation by MaxMind GeoIP databases. | |
Handlers to extend functionality by implementing additional logic in njs, a subset of the JavaScript language. | |
Limiting the number of concurrent requests (active connections) to protect against overload. | |
Configuration of request logs to track resource access for monitoring and analysis. | |
Converts variables based on predefined key-value pairs. | |
Reads the client identifier and username from an MQTT connection before making a load balancing decision. | |
Configures passing accepted connections directly to a configured listening socket. | |
Configures proxying to other servers. | |
Reads cookies from an RDP connection before making a load balancing decision. | |
Client address and port identification when running behind another proxy server. | |
Sends a specified value to the client upon connection without further proxying. | |
Sets predefined variable values. | |
Creating variables for A/B testing, canary releases, sharding, and other scenarios that require a proportional group split. | |
Terminates SSL/TLS and DTLS protocols. | |
Extracts information from the | |
Configures groups of proxied servers for load balancing. | |
Configures health probes for groups of proxied servers. |
Mail Modules#
Basic mail proxy server functionality. | |
User authentication and server selection for subsequent proxying using HTTP requests to an external server. | |
Support for the IMAP protocol. | |
Support for the POP3 protocol. | |
Configures proxying to other servers. | |
Client address and port identification when running behind another proxy server. | |
Support for the SMTP protocol. | |
Support for the SSL/TLS and StartTLS protocols. |
Google PerfTools Module#
Integration with the Google Performance Tools library for application profiling and performance analysis. |
WASM Modules#
Basic WASM functionality to enable running WASM code in Angie. | |
Integration with WebAssembly Micro Runtime. | |
Integration with the Wasmtime runtime. |