Port Reference
AISIX AI Gateway listener ports are configured in startup configuration. The Quickstart and self-hosted examples use the ports below so the proxy, admin API, and etcd endpoints do not overlap.
| Port | Used By | Purpose | Exposure |
|---|---|---|---|
3000 | Proxy listener | Receives caller-facing AI API requests, such as /v1/chat/completions and /v1/models. | Expose only to intended callers or the ingress tier in front of the gateway. |
3001 | Admin listener | Receives self-hosted admin API requests that create and update dynamic resources. It can also serve health and OpenAPI routes. | Keep on loopback, a private subnet, or an admin-only network. |
9090 | Dedicated metrics listener | Prometheus scrape listener configured with observability.metrics.prometheus.addr. Self-hosted and managed gateway images bind this port by default when Prometheus metrics are enabled. | Keep private to Prometheus or your monitoring network. |
2379 | etcd client listener | Stores dynamic gateway configuration for self-hosted deployments. | Keep private to AISIX and the systems that manage gateway configuration. |
Configure Listener Ports
Set the proxy listener with proxy.addr:
proxy:
addr: "0.0.0.0:3000"
Set the self-hosted admin listener with admin.addr:
admin:
addr: "127.0.0.1:3001"
The proxy listener address is required in startup configuration. The admin listener defaults to 127.0.0.1:0, so self-hosted deployments must set admin.addr when they need the Admin API.
Set observability.metrics.prometheus.addr to change the dedicated metrics listener address. The metrics endpoint always runs on its own listener (default 0.0.0.0:9090); the admin API never serves /metrics:
observability:
metrics:
prometheus:
enabled: true
path: "/metrics"
addr: "0.0.0.0:9090"