Nacos 2.x监听端口全景
1. Nacos 2.x 监听端口全景
1.1 最少需要关注 3 类端口
- HTTP(控制台 / OpenAPI)
- gRPC(客户端 & 集群内部)
- Raft(集群一致性)
如果你只放行了 8848,2.x 一定会出诡异问题,这是很多“升级翻车”的根源。
2. 默认端口一览(2.x 标准)
2.1 对外 HTTP 端口(必须)
1 | 8848/tcp |
用途:
- Web 控制台
- 配置管理 OpenAPI
- 服务注册 REST 接口(老客户端仍在用)
2.2 gRPC 端口(2.x 核心)
1 | 9848/tcp # client gRPC |
用途:
- 服务注册 / 心跳 / 推送(客户端)
- 集群节点间通信(Raft + 元数据同步)
2.x 开始,注册发现基本全走 gRPC
2.3 Raft 端口(集群强依赖)
1 | 7848/tcp |
用途:
- 集群选主
- 配置一致性复制
3. 一张端口关系图
flowchart LR
Client -->|HTTP| P8848[8848
Console & REST]
Client -->|gRPC| P9848[9848
Client gRPC]
N1[Nacos Node 1]
N2[Nacos Node 2]
N3[Nacos Node 3]
N1 <-->|Raft| P7848
N1 <-->|Server gRPC| P9849
N1 <--> N2
N2 <--> N3
N1 <--> N3
4. 防火墙 / 安全组放行
4.1客户端 → Nacos
1 | 8848, 9848 |
4.2 Nacos 节点之间
1 | 7848, 9849 |
4.3 最小放行矩阵
| 场景 | 端口 |
|---|---|
| 控制台访问 | 8848 |
| 服务注册发现 | 9848 |
| 集群选主 | 7848 |
| 节点同步 | 9849 |
5. Docker / host 网络下的注意点
5.1 network_mode: host
- 端口直接占用宿主机
- 不能用
ports:映射 - 防火墙规则一定要在宿主机层面放行
5.2 多实例同机运行
必须改端口(否则冲突)
需要成套修改:
server.portnacos.remote.server.portraft.port
6. 高频故障与端口直接关系
6.1 症状 → 根因对照表
| 现象 | 90% 概率原因 |
|---|---|
| 服务注册成功但不推送 | 9848 未通 |
| 节点反复选主 | 7848 未通 |
| 控制台正常但服务全失联 | 9848/9849 被挡 |
| 集群状态异常 | 节点间端口不全通 |