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