Skip to content

The complete filter catalogue, grouped by where a filter attaches: listener, network or HTTP.

Every filter Arion ships, grouped by where it attaches. Listener filters run when a connection is accepted, before a filter chain is chosen. Network filters run on the connection's byte stream and end in a terminal filter. HTTP filters run per request inside the HTTP connection manager, in the order listed, ending in the router. Each page gives the exact @type URL, the accepted fields, and per-route override support; the filter chain concept explains how the three layers fit together.

Listener filters

FilterPurposeDescription
TLS inspectorConnectionReads the SNI from the TLS ClientHello so filter chains can match on server name.
Proxy protocolConnectionConsumes a PROXY protocol v1/v2 header and restores the original client address.
Local rate limitRate limitingCaps the rate of accepted connections with a token bucket; excess connections are closed.

Network filters

FilterPurposeDescription
RBACAuthorizationAllows or denies connections by client address, destination and SNI.
Rate limitRate limitingChecks each new connection against an external gRPC rate limit service, with quota caching.
Connection limitConnectionCaps concurrently active connections per filter chain with a process-wide counter.
HTTP connection managerTrafficTerminal filter that speaks HTTP, runs the HTTP filter chain and routes requests.
TCP proxyTrafficTerminal filter that forwards the raw byte stream to an upstream cluster.

HTTP filters

FilterPurposeDescription
CORSTrafficAnswers preflight requests and stamps CORS headers on responses.
JWT authenticationAuthenticationValidates JSON Web Tokens against configured providers and JWKS keys.
RBACAuthorizationAllows or denies requests by header-based policies, overridable per route.
Cedar policyAuthorizationEvaluates Cedar policies over JWT claims and request context.
Local rate limitRate limitingRate-limits requests with an in-process token bucket, overridable per route.
User rate limitRate limitingKeeps a separate rate limit bucket per caller, identified by a header.
External processingExtensibilityStreams headers and bodies to an external gRPC processor that can mutate or answer them.
WasmExtensibilityRuns a WebAssembly module in-process on every request and response.
MCP gatewayAIServes a Model Context Protocol endpoint, maps tools onto REST, OpenAPI and MCP upstreams, and runs agent scripts in code mode.
RouterTrafficThe mandatory terminal filter that executes the routing decision and sends the request upstream.

Start typing to search the site.

↑ ↓ to move Enter to open Esc to close