Streaming Modules

Streaming Modules#

The Core module provides basic stream server functionality for balancing TCP and UDP protocols at the L4 level.

In addition to it, the following modules are available:

Access

Access control based on IPs and CIDR ranges.

Geo

Conversion of IP addresses into predefined variable values.

GeoIP

Retrieves IP address data using geolocation by MaxMind GeoIP databases.

JS

Handlers to extend functionality by implementing additional logic in njs, a subset of the JavaScript language.

Limit Conn

Limiting the number of concurrent requests (active connections) to protect against overload.

Log

Configuration of request logs to track resource access for monitoring and analysis.

Map

Converts variables based on predefined key-value pairs.

MQTT Preread

Reads the client identifier and username from an MQTT connection before making a load balancing decision.

Pass

Configures passing accepted connections directly to a configured listening socket.

Proxy

Configures proxying to other servers.

RDP Preread

Reads cookies from an RDP connection before making a load balancing decision.

RealIP

Client address and port identification when running behind another proxy server.

Return

Sends a specified value to the client upon connection without further proxying.

Set

Sets predefined variable values.

Split Clients

Creating variables for A/B testing, canary releases, sharding, and other scenarios that require a proportional group split.

SSL

Terminates SSL/TLS and DTLS protocols.

SSL Preread

Extracts information from the ClientHello message without terminating SSL/TLS and before making a load balancing decision.

Upstream

Configures groups of proxied servers for load balancing.

Upstream Probe

Configures health probes for groups of proxied servers.