Welcome to Our Plugin Hub
Discover a variety of plugins readily available to extend the functionalities of APISIX
Traffic Management
#Graphql Proxy Cache
The graphql-proxy-cache plugin provides the capability to cache responses for GraphQL queries.
Graphql Limit Count
The graphql-limit-count plugin uses a fixed window algorithm to limit the rate of GraphQL requests based on the depth of the GraphQL queries or mutations.
Limit Req
The limit-req plugin uses the leaky bucket algorithm to rate limit the number of the requests and allow for throttling.
Limit Count
The limit-count plugin uses a fixed window algorithm to limit the rate of requests by the number of requests within a given time interval. Requests exceeding the configured quota will be rejected.
Proxy Buffering
The proxy-buffering plugin dynamically disables the NGINX proxy_buffering directive to work with SSE and other upstream services sending stream data.
OAS Validator
The oas-validator plugin validates requests or responses against a defined Open API schema.
Proxy Cache
The proxy-cache plugin provides the capability to cache responses based on a cache key and retrieve responses from cache. The plugin supports both disk-based and memory-based caching options to cache for GET, POST, and HEAD requests.
Proxy Mirror
The proxy-mirror plugin duplicates ingress traffic to APISIX and forwards them to a designated upstream without interrupting the regular services.
Request Validation
The request-validation plugin validates requests before forwarding them to upstream services.
Traffic Label
The traffic-label plugin labels traffic based on user-defined rules and takes actions based on labels and the associated weights for actions.
Traffic Split
The traffic-split plugin directs traffic to various upstream services based on conditions and/or weights. It provides a dynamic and flexible approach to implement release strategies and manage traffic.
Workflow
The workflow plugin supports the conditional execution of user-defined actions to client traffic based a given set of rules. This provides a granular approach to implement complex traffic management.
Transformation#
Body Transformer
The body-transformer plugin transforms the request and/or response body from one format to another, for example, from JSON to XML.
degraphql
The degraphql plugin supports communicating with upstream GraphQL services over regular HTTP requests by mapping GraphQL queries to HTTP endpoints.
gRPC Transcode
The grpc-transcode plugin transforms between HTTP requests and gRPC requests, as well as their corresponding responses.
Response Rewrite
The response-rewrite plugin offers options to rewrite responses that APISIX and its upstream services return to clients.
Proxy Rewrite
The proxy-rewrite plugin offers options to rewrite requests that APISIX forwards to upstream services.
SOAP
The soap plugin provides a convenient approach to transform between RESTful HTTP requests and SOAP requests, as well as their corresponding responses.
Authentication#
Authz Keycloak
The authz-keycloak plugin supports the integration with Keycloak to authenticate and authorize users.
Basic Auth
The basic-auth plugin adds basic access authentication for clients to authenticate themselves before being able to access upstream resources.
Forward Auth
The forward-auth plugin supports the integration with an external authorization service.
Key Auth
The key-auth plugin supports the use of an authentication key as a mechanism for clients to authenticate themselves before accessing upstream resources.
JWE Decrypt
The jwe-decrypt plugin decrypts JWE authorization headers in requests sent to APISIX routes or services.
HMAC Auth
The hmac-auth plugin supports HMAC authentication to ensure the integrity of requests, preventing them from being modified during transmissions.
OPA
The opa plugin supports the integration with Open Policy Agent (OPA), a policy engine and framework that helps defining and enforcing authorization policies in a unified place.
JWT Auth
The jwt-auth plugin supports the use of JSON Web Token (JWT) as a mechanism for clients to authenticate themselves before accessing upstream resources.
OpenID Connect
The openid-connect plugin supports the integration with OpenID Connect (OIDC) identity providers, such as Keycloak and Auth0.
Multi Auth
The multi-auth plugin allows consumers using different authentication methods to share the same route or service.
SAML Auth
The saml-auth plugin enables APISIX to authenticate users via SAML 2.0 by interacting with identity providers (IdP).
Security#
ACL
The acl plugin allows or denies request access to upstream resources by verifying whether the user initiating the request is in the access control lists.
CORS
The cors plugin allows you to enable Cross-Origin Resource Sharing (CORS). CORS is an HTTP-header based mechanism which allows a server to specify any origins (domain, scheme, or port) other than its own, and instructs browsers to allow the loading of resources from those origins.
Consumer Restriction
The consumer-restriction plugin enables access controls based on consumer name, route ID, service ID, or consumer group ID.
Data Mask
The data-mask plugin provides the capability to remove or replace sensitive information in request headers, request bodies, and URL queries.
IP Restriction
The ip-restriction plugin supports restricting access to upstream resources by IP addresses, through either configuring a whitelist or blacklist of IP addresses.
UA Restriction
The ua-restriction plugin supports restricting access to upstream resources through either configuring an allowlist or denylist of user agents. Restricting user agents helps prevent web crawlers from overloading the upstream resources and causing service degradation.
Observability#
ClickHouse Logger
The clickhouse-logger plugin pushes request and response logs to ClickHouse database in batches and supports the customization of log formats.
Datadog
The datadog plugin supports the integration with Datadog and pushes metrics to DogStatsD in batches.
Kafka Logger
The kafka-logger plugin pushes request and response logs as JSON objects to Apache Kafka clusters in batches and supports the customization of log formats.
HTTP Logger
The http-logger plugin pushes request and response logs as JSON objects to HTTP(S) servers in batches and supports the customization of log formats.
Prometheus
The prometheus plugin provides the capability to integrate APISIX with Prometheus for metric collection and continuous monitoring.
OpenTelemetry
The opentelemetry plugin instruments APISIX and sends traces to OpenTelemetry collector based on the OpenTelemetry specification, in binary-encoded OLTP over HTTP.
RocketMQ Logger
The rocketmq-logger plugin pushes request and response logs as JSON objects to your RocketMQ clusters in batches and supports the customization of log formats.
syslog
The syslog plugin pushes request and response logs as JSON objects to syslog servers in batches and supports the customization of log formats.
Zipkin
The zipkin plugin instruments APISIX and sends traces to Zipkin or other compatible collectors, such as Jaeger and Apache SkyWalking.
General#
Error Page
The error-page plugin allows customizing the error page served when APISIX encounters an exception.
Public API
The public-api plugin exposes an internal API endpoint, making it publicly accessible.
Real IP
The real-ip plugin allows APISIX to set the client's real IP by IP address passed in the HTTP header or HTTP query string.
Serverless#
AWS Lambda
The aws-lambda plugin eases the integration of APISIX with AWS Lambda and Amazon API gateway. The plugin supports authentication and authorization with AWS via IAM user credentials and API gateway API key.
Serverless Functions
The serverless function plugins are two plugins, serverless-pre-function and serverless-post-function. These plugins allow the execution of user-defined logic at the beginning or end of a specified execution phase.