端口参考
使用本参考为 AISIX 网关和 AISIX Cloud 控制面组件规划防火墙规则、安全组、Kubernetes Service 和负载均衡器。
以下值均为默认值。如果启动配置、主机端口绑定、Kubernetes Service 或生成的 AISIX Cloud 安装说明指定了其他值,请以已部署环境中的值为准。
任何部署都应先查看网关端口。如果网关连接到 AISIX Cloud,还需要查看 AISIX Cloud 网关连接。对于本地部署,还需要查看本地部署控制面端口。
AISIX 网关端口
所有 AISIX 网关都使用相同的入站监听器。出站要求取决于网关的配置来源和已配置的运行时目标。
| 端口或设置 | 方向 | 作用 | 暴露范围 |
|---|---|---|---|
3000 | 到网关的入站流量 | 面向调用方的 AI API,以及 /livez 和 /readyz 健康检查路由的代理监听器。 | 仅暴露给预期调用方,或暴露给网关前置的入口层。 |
9090 | 到网关的入站流量 | 指标和状态监听器,提供已配置的 Prometheus 路径以及 /status/config、/status/ready 和 /status/models。 | 仅对 Prometheus 和运维系统开放。这些路由不需要应用身份认证。 |
2379 | 从网关发出的出站流量 | 从外部 etcd 部署加载动态资源的开源网关常用 etcd 客户端端口。实际端口来自 etcd.endpoints。 | 仅对 AISIX 和管理网关配置的系统开放 etcd。使用资源文件时不使用此连接。 |
managed.cp_base_url 端口 | 从网关发出的出站流量 | 用于注册、心跳、遥测、预算检查和证书轮换的 AISIX Cloud 管理 API。URL 未指定端口时,HTTPS 使用 443。 | 允许网关向配置的端点发起连接。控制面不会主动连接网关主机。 |
managed.cp_etcd_endpoint 端口 | 从网关发出的出站流量 | 可选的独立 AISIX Cloud 配置存储端点。未设置时,网关使用 managed.cp_base_url 中的主机和端口。 | 只有生成的安装配置提供该端点时才允许此端口。 |
运行时目标没有统一的默认端口。构建出站白名单时,请允许网关启动配置或资源配置中指定的每个端点,包括模型服务提供方、安全护栏服务、MCP 服务器、A2A Agent、OIDC 签发者、Redis 后端和遥测导出器。
配置 AISIX 网关端口
启动配置定义网关监听器端口;对于使用 etcd 的开源网关,还会定义外部 etcd 端点。连接到 AISIX Cloud 的网关应使用生成的安装说明中的管理端点;请参阅 AISIX Cloud 网关连接。
使用 proxy.addr 设置代理监听端口:
proxy:
addr: "0.0.0.0:3000"
启动配置必须包含代理监听地址。
如需修改专用指标和状态监听器地址,请设置 observability.metrics.prometheus.addr。启用 Prometheus 指标时,该监听器会运行并默认使用 0.0.0.0:9090:
observability:
metrics:
prometheus:
enabled: true
path: "/metrics"
addr: "0.0.0.0:9090"
指标/状态监听器还会提供 /status/config、/status/ready 和 /status/models。这些运维路由无需认证。请将监听器绑定到私有接口,或通过网络策略或防火墙规则限制访问。
对于使用 etcd 的开源网关,请为每个端点配置实际客户端端口:
etcd:
endpoints:
- "https://etcd.internal.example:2379"
当 etcd 连接跨越主机或网络信任边界时,请使用 mTLS。请参阅 TLS 和 mTLS。
AISIX Cloud 网关连接
网关会主动发起到 AISIX Cloud 的所有管理连接。控制面不会主动连接网关主机,调用方的实时流量也不会经过控制面。
在混合云模式下,控制面由 API7 托管,因此运维人员无需部署控制面服务。请允许每个网关向生成的安装说明中指定的管理端点和配置存储端点建立出站 TCP 连接。不要创建从控制面到网关的入站防火墙规则。
在本地部署模式下,网关通过 mTLS 连接 dp-manager 端点。请确保每个网关主机或集群都能访问该端点。Docker Compose 使用 AISIX_CLOUD_DPMGR_BASE_URL,Helm 使用 api.dpmgrBaseURL 设置网关可访问的地址。控制面会把该地址写入生成的网关安装说明,并使用其主机名签发 dp-manager 服务器证书。
本地部署控制面端口
在本地部署环境中,浏览器和 Admin API 流量使用的入口与网关管理流量不同。请将控制台内部流量和数据库流量保留在部署网络内。
| 默认端口 | 组件 | 作用 | 暴露范围 |
|---|---|---|---|
8080 | cp-api | 面向浏览器的控制台入口和 AISIX Cloud Admin API。cp-api 会将控制台请求反向代理到内部控制台服务。 | 通过预期的控制面 Origin 暴露。生产环境使用终止 TLS 的反向代理或负载均衡器。 |
7944 | dp-manager | 网关用于注册、配置投递、心跳、遥测和预算检查的 mTLS 端点。HTTPS API 和配置存储协议共享该端口。 | 仅暴露给运行 AISIX 网关的网络。保持到 dp-manager 的端到端 TLS。 |
3000 | 控制台 | cp-api 访问的内部控制台服务。它与同样默认使用 3000 的网关代理监听器不同。 | 不要直接公开。 |
5432 | PostgreSQL | cp-api、dp-manager 和控制台发往数据库的流量。 | 仅对控制面服务和数据库管理员开放。 |
7946 | dp-manager 健康检查服务器 | 明文 HTTP /healthz 监听器。默认 Helm 部署将其用于 Kubernetes Probe;Docker Compose 不发布该端口。它不属于 dp-manager Service。 | 保留在 Pod 或容器网络内。不要暴露给网关或运维网络。 |
控制面出站流量
部分控制面功能会从 cp-api 发起出站连接。端口来自已配置的目标 URL,而不是固定的 AISIX 默认值。
| 目标 | 何时需要 |
|---|---|
| 已配置的 LLM 端点 | 控制台 Playground 和语义路由测试请求。 |
| 已配置的 Webhook 或 Slack 目标 | 投递预算通知。 |
https://models.dev/api.json 或 AISIX_CLOUD_PRICESYNC_URL | 在线模型价格同步。随包提供的 Docker Compose 部署默认使用离线快照,不需要此连接。 |
对于默认拒绝的出站策略,请允许每项已启用功能的目标端口。HTTP 和 HTTPS URL 未指定端口时分别使用 80 和 443。
Docker Compose 端口映射
Docker Compose 会在主机上发布以下容器端口。更改主机端口绑定不会改变相应的容器端口。
| 变量 | 默认主机绑定 | 容器端口 |
|---|---|---|
API_HOST_PORT | 8080 | 8080 |
DPM_HOST_PORT | 7944 | 7944 |
POSTGRES_HOST_PORT | 127.0.0.1:5432 | 5432 |
默认的 API_HOST_PORT 和 DPM_HOST_PORT 值会绑定主机所有网络接口。要把仅本地使用的部署限制在回环地址,请为值添加 127.0.0.1: 前缀,例如 127.0.0.1:8080。当网关运行在其他主机或集群上时,请在 AISIX_CLOUD_DPMGR_BASE_URL 中设置的主机名和端口上暴露 dp-manager 端点。
控制台只在 Compose 网络内监听端口 3000。它没有主机端口,因为 cp-api 会通过端口 8080 提供控制台。
Helm Service 端口
默认 Helm Chart 创建 ClusterIP Service。只发布集群外客户端需要访问的 Service。
| Helm 配置项 | 默认值 | 使用方 |
|---|---|---|
api.service.port | 8080 | 通过已配置控制面 Origin 访问的运维人员、浏览器和 Admin API 客户端 |
dpm.service.port | 7944 | AISIX 网关 |
ui.service.port | 3000 | 集群内的 cp-api |
postgresql.primary.service.ports.postgresql | 5432 | 集群内的控制面服务 |
如果网关在集群外运行,请提供通往 dp-manager Service 且能保留其 mTLS 连接的 TCP 路径,然后把 api.dpmgrBaseURL 设置为外部可访问的 URL。端口 7946 上的 dp-manager 健康检查监听器仍保留在 Pod 内部,不属于此 Service。
有关所有本地部署配置变量和 Helm 配置项,请参阅本地部署配置参考。