Built-in Modules#
This guide describes Angie's built-in modules, provides configuration examples, lists their directives and parameters, as well as built-in variables.
Core Module#
Management of 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 IP addresses and CIDR ranges. | |
Automatic retrieval and renewal of SSL certificates using the ACME protocol for HTTP servers. | |
Dynamic updating of proxied server groups based on Docker container labels. | |
Insertion of a specified snippet before or after the response body. | |
RESTful HTTP interface for obtaining basic web server information and statistics in JSON format, as well as managing groups of proxied servers. | |
Basic HTTP authentication for access control based on 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. | |
Serving a one-pixel transparent GIF. | |
Proxying requests to a FastCGI server. | |
Pseudo-streaming of Flash Video (FLV) files. | |
Converting IP addresses into specified variable values. | |
Obtaining IP address data based on geolocation using MaxMind GeoIP databases. | |
Proxying requests to a gRPC server. | |
Decompressing GZip-compressed responses for modification and in cases where the client does not support compression. | |
Compressing responses using the GZip method to save traffic. | |
Serving static files pre-compressed using the GZip method. | |
Modifying response header fields. | |
Processing requests using the HTTP/2 protocol. | |
Processing requests using the HTTP/3 protocol. | |
Image transformation. | |
Configuration of index files
that serve requests ending with a slash ( | |
Handlers for extending functionality by specifying additional logic in njs, a subset of the JavaScript language. | |
Limiting the number of concurrent requests (active connections) for protection against overload. | |
Limiting request frequency for protection against overload and password guessing. | |
Configuration of request logs for tracking resource access for monitoring and analysis purposes. | |
Converting variables based on predefined key-value pairs. | |
Retrieving responses from a Memcached server. | |
Mirroring requests to other servers. | |
Pseudo-streaming of MP4 files. | |
Handlers for extending functionality by specifying additional logic in the Perl language. | |
Server metrics in Prometheus-compatible format for monitoring and statistics collection. | |
Reverse proxying requests to other HTTP servers. | |
Random selection of an index file for requests
ending with a slash ( | |
Determining client address and port when operating behind another proxy server. | |
Validation of | |
Request URI modification, redirects, variable setting, and conditional configuration selection. | |
Proxying requests to a SCGI server. | |
Creating secure links with the ability to limit access time. | |
Splitting requests into multiple subrequests for individual fragments for better caching of large responses. | |
Creating variables for A/B testing, canary releases, sharding, and other scenarios requiring proportional group splitting. | |
Processing SSI (Server Side Includes) commands in responses. | |
SSL/TLS configuration for processing HTTPS requests. | |
Stub Status (deprecated) | Global connection and request counters in text format. |
Search and replace fragments in the response body. | |
Configuration of proxied server groups for load balancing. | |
Configuration of active health checks for proxied server groups. | |
Issuing and processing cookies with unique client identifiers for session tracking and analytics. | |
Proxying requests to a uWSGI server. | |
Transforming XML documents using the XSLT language. |
Stream Modules#
Core stream server functionality for balancing TCP and UDP protocols at the L4 level. | |
Access control based on IP addresses and CIDR ranges. | |
Automatic retrieval and renewal of SSL certificates using the ACME protocol for stream servers. | |
Converting IP addresses into specified variable values. | |
Obtaining IP address data based on geolocation using MaxMind GeoIP databases. | |
Handlers for extending functionality by specifying additional logic in njs, a subset of the JavaScript language. | |
Limiting the number of concurrent connections for protection against overload. | |
Configuration of session logs for tracking resource access for monitoring and analysis purposes. | |
Converting variables based on predefined key-value pairs. | |
Reading client identifier and username from MQTT connections before making load balancing decisions. | |
Passing accepted connections directly to a configured listening socket. | |
Configuration of proxying to other servers. | |
Reading cookies from RDP connections before making load balancing decisions. | |
Determining client address and port when operating behind another proxy server. | |
Sending a specified value to the client upon connection without further proxying. | |
Setting specified variable values. | |
Creating variables for A/B testing, canary releases, sharding, and other scenarios requiring proportional group splitting. | |
SSL/TLS and DTLS protocol termination. | |
Extracting information from | |
Configuration of proxied server groups for load balancing. | |
Configuration of active health checks for proxied server groups. |
Mail Modules#
Core mail proxy server functionality. | |
User authentication and server selection for subsequent proxying using HTTP requests to an external server. | |
IMAP protocol support. | |
POP3 protocol support. | |
Configuration of proxying to other servers. | |
Determining client address and port when operating behind another proxy server. | |
SMTP protocol support. | |
SSL/TLS and StartTLS protocol support. |
Google PerfTools Module#
Responsible for integration with the Google Performance Tools library for application profiling and performance analysis. |
WASM Modules#
Core WASM functionality enabling WASM code execution in Angie. | |
Integration with WebAssembly Micro Runtime. | |
Integration with the Wasmtime runtime environment. |