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.
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.
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 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.
Proxy Buffering
The proxy-buffering plugin dynamically disables the NGINX proxy_buffering directive to work with SSE and other upstream services sending stream data.
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.
gRPC Transcode
The grpc-transcode plugin transforms between HTTP requests and gRPC requests, as well as their corresponding responses.
degraphql
The degraphql plugin supports communicating with upstream GraphQL services over regular HTTP requests by mapping GraphQL queries to HTTP endpoints.
Proxy Rewrite
The proxy-rewrite plugin offers options to rewrite requests that APISIX forwards to upstream services.
Response Rewrite
The response-rewrite plugin offers options to rewrite responses that APISIX and its upstream services return to clients.
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.
JWE Decrypt
The jwe-decrypt plugin decrypts JWE authorization headers in requests sent to APISIX routes or services.
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.
Multi Auth
The multi-auth plugin allows consumers using different authentication methods to share the same route or service.
OpenID Connect
The openid-connect plugin supports the integration with OpenID Connect (OIDC) identity providers, such as Keycloak and Auth0.
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.
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.
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.
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.
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
Datadog
The datadog plugin supports the integration with Datadog and pushes metrics to DogStatsD in batches.
ClickHouse Logger
The clickhouse-logger plugin pushes logs to ClickHouse database in batches and supports the customization of log formats.
Kafka Logger
The kafka-logger plugin pushes access logs as JSON objects to Apache Kafka clusters in batches and supports the customization of log formats.
OpenTelemetry
The opentelemetry plugin instruments APISIX and sends traces to OpenTelemetry collector based on the OpenTelemetry specification, in binary-encoded OLTP over HTTP.
Prometheus
The prometheus plugin provides the capability to integrate APISIX with Prometheus for metric collection and continuous monitoring.
RocketMQ Logger
The rocketmq-logger plugin provides the ability to push logs as JSON objects to your RocketMQ clusters in batches and supports the customization of log formats.
syslog
The syslog plugin pushes logs 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.
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.
Public API
The public-api plugin exposes an internal API endpoint, making it publicly accessible.