Welcome to Our Plugin Hub
Discover a variety of plugins readily available to extend the functionalities of APISIX
AI
#AI Prompt Decorator
The ai-prompt-decorator plugin decorates user input prompts by prefixing and appending pre-engineered prompts, to provide pre-set contexts in content generation.
AI Prompt Template
The ai-prompt-template plugin supports pre-configuring prompt templates that only accept user inputs in designated template variables, in a "fill in the blank" fashion.
Traffic Management#
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 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.
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.
Graphql Proxy Cache
The graphql-proxy-cache plugin provides the capability to cache responses for GraphQL queries.
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.
Proxy Buffering
The proxy-buffering plugin dynamically disables the NGINX proxy_buffering directive to work with SSE and other upstream services sending stream data.
Limit Count Advanced
The limit-count-advanced plugin uses a fixed or sliding 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.
Request Validation
The request-validation plugin validates requests before forwarding them to upstream services.
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.
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.
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.
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.
Attach Consumer Label
The attach-consumer-label plugin attaches custom consumer labels to authenticated requests, for upstream services to implement additional logics.
degraphql
The degraphql plugin supports communicating with upstream GraphQL services over regular HTTP requests by mapping GraphQL queries to HTTP endpoints.
Exit transformer
The exit-transformer plugin supports the customization of gateway responses based on the status codes, headers, and bodies returned from APISIX plugins. When configured as a global plugin, it also supports the response customization when a route that does not exist is requested.
gRPC Transcode
The grpc-transcode plugin transforms between HTTP requests and gRPC requests, as well as their corresponding responses.
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#
Basic Auth
The basic-auth plugin adds basic access authentication for clients to authenticate themselves before being able to access upstream resources.
Authz Keycloak
The authz-keycloak plugin supports the integration with Keycloak to authenticate and authorize users.
Forward Auth
The forward-auth plugin supports the integration with an external authorization service.
HMAC Auth
The hmac-auth plugin supports HMAC authentication to ensure the integrity of requests, preventing them from being modified during transmissions.
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.
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.
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.
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.
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.
Consumer Restriction
The consumer-restriction plugin enables access controls based on consumer name, route ID, service ID, or consumer group ID.
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.
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.
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.
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.
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.