## Reference Documentation * [APISIX Readme](./README.md) * [Architecture Design](architecture-design.md) * [Getting Started Guide](getting-started.md) * [How to build Apache APISIX](how-to-build.md) * [Admin API](admin-api.md) * [Control API](control-api.md) * [Health Check](health-check.md): Enable health check on the upstream node, and will automatically filter unhealthy nodes during load balancing to ensure system stability. * [Router radixtree](router-radixtree.md) * [Stand Alone Model](stand-alone.md): Supports to load route rules from local yaml file, it is more friendly such as under the kubernetes(k8s). * [Stream Proxy](stream-proxy.md) * [gRPC Proxy](grpc-proxy.md) * [Customize Nginx Configuration](./customize-nginx-configuration.md) * [DNS](./dns.md) * [Changelog](../CHANGELOG.md) * [Benchmark](benchmark.md) * [Code Style](../CODE_STYLE.md) * [Debug Function](./debug-function.md) * [FAQ](../FAQ.md) ## Plugins ### General * [batch-requests](plugins/batch-requests.md): Allow you send multiple http api via **http pipeline**. * [hot reload](plugins.md): Hot reload without reload service. * [HTTPS/TLS](https.md): Dynamic load the SSL Certificate by Server Name Indication (SNI). * [serverless](plugins/serverless.md):Allows to dynamically run Lua code at *different* phase in APISIX. * [redirect](plugins/redirect.md): URI redirect. ### Transformation * [response-rewrite](plugins/response-rewrite.md): Set customized response status code, body and header to the client. * [proxy-rewrite](plugins/proxy-rewrite.md): Rewrite upstream request information. * [grpc-transcode](plugins/grpc-transcode.md): REST <--> gRPC transcoding. * [fault-injection](plugins/fault-injection.md): The specified response body, response code, and response time can be returned, which provides processing capabilities in different failure scenarios, such as service failure, service overload, and high service delay. ### Authentication * [key-auth](plugins/key-auth.md): User authentication based on Key Authentication. * [JWT-auth](plugins/jwt-auth.md): User authentication based on [JWT](https://jwt.io/) (JSON Web Tokens) Authentication. * [basic-auth](plugins/basic-auth.md): User authentication based on Basic Authentication. * [authz-keycloak](plugins/authz-keycloak.md): Authorization with Keycloak Identity Server. * [wolf-rbac](plugins/wolf-rbac.md) User Authentication and Authorization based on *RBAC*. * [openid-connect](plugins/openid-connect.md) ### Security * [cors](plugins/cors.md): Enable CORS(Cross-origin resource sharing) for your API. * [uri-blocker](plugins/uri-blocker.md): Block client request by URI. * [ip-restriction](plugins/ip-restriction.md): IP whitelist/blacklist. * [referer-restriction](plugins/referer-restriction.md): Referer whitelist. ### Traffic * [limit-req](plugins/limit-req.md): Request rate limiting and adjustment based on the "leaky bucket" method. * [limit-conn](plugins/limit-conn.md): Limit request concurrency (or concurrent connections). * [limit-count](plugins/limit-count.md): Rate limiting based on a "fixed window" implementation. * [proxy-cache](plugins/proxy-cache.md): Provides the ability to cache upstream response data. * [request-validation](plugins/request-validation.md): Validates requests before forwarding to upstream. * [proxy-mirror](plugins/proxy-mirror.md): Provides the ability to mirror client requests. * [api-breaker](plugins/api-breaker.md): Circuit Breaker for API that stops requests forwarding to upstream in case of unhealthy state. * [traffic-split](plugins/traffic-split.md): Allows users to incrementally direct percentages of traffic between various upstreams. ### Monitoring * [prometheus](plugins/prometheus.md): Expose metrics related to APISIX and proxied upstream services in Prometheus exposition format, which can be scraped by a Prometheus Server. * [OpenTracing](plugins/zipkin.md): Supports Zikpin and Apache SkyWalking. * [Skywalking](plugins/skywalking.md): Supports Apache SkyWalking. ### Loggers * [http-logger](plugins/http-logger.md): Log requests to http servers. * [tcp-logger](plugins/tcp-logger.md): Log requests to TCP servers. * [kafka-logger](plugins/kafka-logger.md): Log requests to External Kafka servers. * [udp-logger](plugins/udp-logger.md): Log requests to UDP servers. * [sys-log](plugins/syslog.md): Log requests to Syslog. * [log-rotate](plugins/log-rotate.md): Rotate access/error log files. ## Deploy ### AWS The recommended approach is to deploy APISIX with [AWS CDK](https://aws.amazon.com/cdk/) on [AWS Fargate](https://aws.amazon.com/fargate/) which helps you decouple the APISIX layer and the upstream layer on top of a fully-managed and secure serverless container compute environment with autoscaling capabilities. ### Kubernetes See [this guide](../kubernetes/README.md) and learn how to deploy apisix in Kubernetes.