A web-based graphical interface for nginx that lets you manage virtual hosts, proxies, SSL certificates and streams without editing config files by hand.
apache/apisix
A dynamic, high-performance API gateway built on NGINX and etcd, with plugins for routing, auth, rate limiting and AI/LLM traffic.
Open-source alternative to:Kong Gateway
AWS API Gateway
- Stars
- 17,239
- Forks
- 2,973
- Open issues
- 256
- Last commit
- 4 days ago
What is it?
Apache APISIX is an API gateway that handles north-south traffic from clients and east-west traffic between services. It is built on NGINX and etcd, and its routes, upstreams, certificates and plugins can be changed at runtime through a REST Admin API without restarting the process. It can also run as a Kubernetes ingress controller.
The project covers traffic management such as load balancing, health checks, canary releases, traffic splitting, circuit breaking and mirroring, along with authentication (key-auth, JWT, OpenID Connect and others), IP and referer restrictions, and several rate-limiting plugins. Observability is provided through Prometheus, Zipkin, SkyWalking and a range of external log sinks, and service discovery can use etcd, Consul, Nacos, Eureka or Zookeeper.
APISIX also supports multi-protocol proxying, including TCP/UDP, gRPC, gRPC-to-JSON transcoding, MQTT and Dubbo. Plugins can be written in Lua, or in Java, Go, Python and Node.js through an RPC runner, or with the Proxy Wasm SDK. An AI Gateway mode adds LLM provider proxying, load balancing and fallbacks across models, and token-based rate limiting.
Key features
- 01Dynamic routing, upstreams and plugins that update at runtime without restarts
- 02Load balancing, health checks, canary release, traffic splitting and circuit breaking
- 03Authentication plugins including key-auth, JWT, basic-auth and OpenID Connect
- 04Integration with Consul, Nacos, Eureka and other service discovery systems
- 05Plugins can be written in Lua, Java, Go, Python, Node.js or via Proxy Wasm
- 06AI gateway features for LLM proxying, fallbacks and token-based rate limiting
Use cases
- Acting as a single entry point for microservices and routing requests to backend services
- Running as a Kubernetes ingress controller for cluster traffic
- Putting a unified gateway in front of multiple LLM providers with rate limits and fallbacks
- Doing canary releases or A/B testing by routing on headers, cookies or query arguments
Quick start
- 1
Install and run APISIX with the quickstart script (requires Docker)
Install with the official instructions in the README - 2
Verify APISIX is running on port 9080
curl "http://127.0.0.1:9080" --head | grep Server - 3
Create your first route via the Admin API on port 9180
curl -i "http://127.0.0.1:9180/apisix/admin/routes/1" -X PUT -d ' { "uri": "/get", "upstream": { "type": "roundrobin", "nodes": { "httpbin.org:80": 1 } } }' - 4
Send a request through APISIX to confirm the route works
curl "http://127.0.0.1:9080/get"
Things to know
- The quickstart requires Docker to be installed.
- The Admin API only allows 127.0.0.1 by default and uses key auth, so it needs configuration for remote access.
Topics
FAQ
- What is apisix?
- A dynamic, high-performance API gateway built on NGINX and etcd, with plugins for routing, auth, rate limiting and AI/LLM traffic. Apache APISIX is an API gateway that handles north-south traffic from clients and east-west traffic between services. It is built on NGINX and etcd, and its routes, upstreams, certificates and plugins can be changed at runtime through a REST Admin API without restarting the process. It can also run as a Kubernetes ingress controller.
- Is apisix free to use? What license does it have?
- apisix is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is apisix still maintained?
- Actively maintained. The last commit to apisix was on Oct 16, 2026.
- What can I use apisix for?
- Acting as a single entry point for microservices and routing requests to backend services Running as a Kubernetes ingress controller for cluster traffic Putting a unified gateway in front of multiple LLM providers with rate limits and fallbacks Doing canary releases or A/B testing by routing on headers, cookies or query arguments
- How do I install apisix?
- Install and run APISIX with the quickstart script (requires Docker) Verify APISIX is running on port 9080: curl "http://127.0.0.1:9080" --head | grep Server Create your first route via the Admin API on port 9180: curl -i "http://127.0.0.1:9180/apisix/admin/routes/1" -X PUT -d ' { "uri": "/get", "upstream": { "type": "roundrobin", "nodes": { "httpbin.org:80": 1 } } }' Send a request through APISIX to confirm the route works: curl "http://127.0.0.1:9080/get"
- Where can I get apisix?
- The source code and installation instructions are on GitHub: https://github.com/apache/apisix
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A Rust runtime that lets services, workers, queues, cron jobs and agents be composed, discovered and traced through one live function catalog.
Open source AI Gateway and Python SDK that calls 100+ LLM providers through a single OpenAI-format interface.
A self-hosted AI gateway that exposes OpenAI, Claude and Gemini compatible APIs in front of many upstream model providers, with routing, keys, quotas and cost tracking.
Self-hosted web application firewall (WAF) and reverse proxy that filters HTTP traffic to block SQL injection, XSS, bots and floods.
Open-source AI gateway giving one OpenAI-compatible API across 23+ LLM providers, with failover, load balancing, semantic caching and virtual keys.