You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot应用连接AxonServer失败:网络未知原因关闭

解决AxonServer连接失败:UNAVAILABLE: Network closed for unknown reason

核心问题分析

Dashboard能通过localhost:8024访问,说明AxonServer的HTTP服务正常,但Spring Boot客户端连接失败,大概率是客户端使用了错误的通信端口,或是版本兼容性、网络配置存在问题。AxonServer客户端依赖gRPC协议通信,默认端口为8124,而非Dashboard的8024端口。

解决方案

1. 修正客户端连接端口

修改application.properties中的AxonServer地址配置,将8024替换为gRPC专用的8124端口:

# Axon
axon.axonserver.servers=localhost:8124
axon.serializer.general=jackson
axon.serializer.events=jackson
axon.serializer.messages=jackson

2. 验证8124端口的可访问性

在主机上执行以下命令,确认端口未被拦截:

# 测试端口连通性
nc -zv localhost 8124
# 或使用telnet
telnet localhost 8124

如果连接失败,检查主机防火墙是否放行8124端口,或Docker端口映射是否生效。

3. 检查Docker容器内的端口监听状态

进入AxonServer容器,确认服务正常监听8124端口:

# 进入容器
docker exec -it axonserver bash
# 查看端口监听
netstat -tulpn | grep 8124

输出应包含0.0.0.0:8124,表示允许外部访问。

4. 验证版本兼容性

你使用的AxonServer镜像版本是2024.1.2-jdk-17-nonroot,而Axon Framework版本为4.9.1,两者版本不兼容:

  • AxonServer 2024.1.x 对应 Axon Framework 4.10.x 版本
  • AxonServer 2023.1.x 对应 Axon Framework 4.9.x 版本

解决方式二选一:

  • 升级Axon Framework到4.10.x:
<dependency>
    <groupId>org.axonframework</groupId>
    <artifactId>axon-server-connector</artifactId>
    <version>4.10.0</version>
</dependency>
  • 降级AxonServer到2023.1.x版本,修改docker-compose中的镜像:
image: axoniq/axonserver:2023.1.4-jdk-17-nonroot

5. 检查Docker网络配置(可选调试用)

如果使用默认bridge网络仍有问题,可临时切换为host网络调试(生产环境不推荐):
修改docker-compose.yml:

services:
  axonserver:
    # 其他配置不变
    network_mode: host
    # 移除ports配置,host模式直接使用主机端口

6. 确认自定义AxonServer配置(若挂载了config目录)

如果你挂载的./config目录中有axonserver.properties,检查以下配置:

# 确保gRPC端口为8124
axoniq.axonserver.port=8124
# 允许外部访问,不要设为仅容器内部地址
axoniq.axonserver.hostname=0.0.0.0

内容的提问来源于stack exchange,提问作者Seyed Ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 02:32:45