好的,这是 WSO2 API Manager 中这些常见端口的详细总结。了解这些端口对于部署、运维和故障排查至关重要。
我将它们分为 API 流量端口、管理/控制平面端口 和 内部通信端口 三类。
一、API 流量端口 (API Traffic Ports)
这些端口用于处理实际的 API 调用(数据平面流量)。
端口 | 协议 | 服务 | 作用描述 | 默认使用者 |
---|---|---|---|---|
8280 | HTTP | API Gateway | 非加密 API 访问端口。用于处理普通的 HTTP API 流量。在生产环境中通常会被禁用或由负载均衡器终止 TLS。 | 外部客户端、调用者 |
8243 | HTTPS | API Gateway | 加密 API 访问端口。用于处理 HTTPS API 流量。这是最主要的 API 调用端口,所有安全的生产流量都应走此端口。 | 外部客户端、调用者 |
二、管理/控制平面端口 (Management/Control Plane Ports)
这些端口用于访问管理界面、管理 API 和进行节点间控制通信。
端口 | 协议 | 服务 | 作用描述 | 默认使用者 |
---|---|---|---|---|
9443 | HTTPS | 所有组件 | Carbon 管理控制台安全端口。这是最重要的管理端口。用于访问 Publisher、DevPortal、Admin Portal 以及所有组件的 Carbon 管理后台。 | 管理员、开发者(用户) |
9763 | HTTP | 所有组件 | Carbon 管理控制台非安全端口。通常重定向到 9443,在生产环境中不直接使用。 | 内部重定向 |
9021 | - | Traffic Manager | Thrift 服务器端口。用于 Gateway 节点与 Traffic Manager 之间高效交换限流策略和事件。这是关键内部端口。 | Gateway 节点 |
8021 | - | Traffic Manager | Thrift 服务器端口(备用)。功能同 9021,可能用于负载或冗余。 | Gateway 节点 |
三、内部通信与监控端口 (Internal Communication & Monitoring Ports)
这些端口用于组件内部通信、指标收集和消息传递。
端口 | 协议 | 服务 | 作用描述 | 默认使用者 |
---|---|---|---|---|
5672 | TCP/AMQP | Message Broker | AMQP 消息协议端口。用于节点间异步通信(如令牌撤销、限流数据、事件通知)。TM、Gateway 等都需要连接它。 | TM, Gateway, Key Manager, Publisher, DevPortal |
9611 | HTTP | Metrics (Carbon) | Carbon 性能指标数据端口。暴露 JVM 和 Carbon 级别的监控指标(通常供 Prometheus 抓取)。 | 监控系统(如 Prometheus) |
9711 | HTTP | Metrics (Micro) | Micro-integrator 指标数据端口(如果部署了 Micro-integrator)。暴露集成流相关的监控指标。 | 监控系统(如 Prometheus) |
总结表格
端口 | 类别 | 关键程度 | 主要用途 | 通常是否需要暴露给外部 |
---|---|---|---|---|
8243 | API 流量【网关gateway】 | ⭐⭐⭐⭐⭐ | 处理 HTTPS API 调用 | 是 |
8280 | API 流量 | ⭐⭐ | 处理 HTTP API 调用(非生产) | 可选(通常否) |
9443 | 管理控制台[publisher,admin,carbon,devportal] | ⭐⭐⭐⭐⭐ | 访问所有管理界面 | 是(给管理员) |
9763 | 管理控制台 | ⭐ | HTTP 管理界面(重定向) | 否 |
9021 | 内部通信 | ⭐⭐⭐⭐ | TM 与 Gateway 的 Thrift 通信(限流) | 否(仅集群内部) |
8021 | 内部通信 | ⭐⭐⭐ | TM 的 Thrift 备用端口 | 否(仅集群内部) |
5672 | 内部通信 | ⭐⭐⭐⭐⭐ | 消息代理(JMS 通信) | 否(仅集群内部) |
9611 | 监控 | ⭐⭐⭐ | 暴露 Carbon 指标 | 可选(给监控系统) |
9711 | 监控 | ⭐⭐ | 暴露 Micro-integrator 指标 | 可选(给监控系统) |
Kubernetes 部署注意事项
在 Kubernetes 中部署时,你需要通过 Service 和 Ingress 来精确控制这些端口的暴露范围:
- 必须对外暴露:
8243
(API流量),9443
(管理界面) - 必须集群内暴露:
5672
(Broker),9021/8021
(Thrift-TM)。这些端口的 Service 应该使用ClusterIP
类型。 - 选择性暴露:
9611/9711
(监控指标)。可以使用ClusterIP
并在集群内通过 Prometheus 抓取,或者通过Ingress
暴露给外部监控系统。 - 无需暴露:
8280
,9763
。通常不需要创建对应的 Service。