JHipster Registry v7.1.0启动自注册报Connection refused错误如何解决?
问题根本原因
- 核心原因是JHipster Registry集成的Eureka客户端初始化时机早于内嵌Eureka服务端的启动完成时机,客户端在自身Eureka服务端还没绑定8761端口监听时,就尝试发起注册请求,因此抛出连接拒绝异常。
- 你提供的
application.yaml存在缩进错误,jhipster配置块多了4个前置空格,被识别为configserver的子属性,属于无效配置,会导致安全校验逻辑异常,也会影响Eureka的认证请求。 - 未显式配置Eureka客户端的服务地址、重试策略、认证信息,默认配置的重试间隔过短或者认证信息不匹配,也会导致请求一直失败。
排查步骤
- 查看启动日志中是否存在
Tomcat started on port(s): 8761 (http)类的端口绑定成功日志,如果端口未成功绑定,先排查8761端口是否被其他进程占用,Windows执行netstat -ano | findstr 8761,Linux执行ss -tulpn | grep 8761即可确认。 - 检查
./configuration/application.yaml的缩进格式,确认jhipster块和configserver块是同级节点,没有多余前置空格。 - 检查启动参数中是否配置了Eureka服务端的地址,是否包含正确的安全认证用户名密码(默认用户名为admin)。
- 如果启动后仅前3次重试出现该警告,后续出现
DiscoveryClient_JHIPSTER-REGISTRY: registration status: UP日志,属于正常启动现象,无需额外处理。
解决方案
- 修正application.yaml的缩进错误,调整为以下格式:
configserver: name: JHipster Registry config server status: Connected to the JHipster Registry config server jhipster: security: authentication: jwt: secret: ZXlKaGJHY2lPaUpJVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0o5LmV5SnpkV0lpT2lJeE1qTTBOVFkzT0Rrd0lpd2libUZ0WlNJNklrcHZhRzRnUkc5bElpd2lhV0YwSWpveE5URTJNak01TURJeWZRLmNUaElJb0R2d2R1ZVFCNDY4SzV4RGM1NjMzc2VFRm9xd3hqRl94U0p5UVE
- 显式追加Eureka相关启动参数,配置正确的服务地址和重试策略:
--eureka.client.service-url.defaultZone=http://admin:admin@localhost:8761/eureka/ --eureka.client.initial-instance-info-replication-interval-seconds=10 --eureka.client.eureka-server-connect-timeout-seconds=5
其中http://admin:admin的第二个admin对应你启动参数中配置的spring.security.user.password值。
3. 单节点部署场景下可以直接关闭客户端自我注册,彻底避免该异常,启动参数追加:
--eureka.client.register-with-eureka=false --eureka.client.fetch-registry=false
- 若8761端口被占用,修改启动参数
--server.port为其他可用端口即可,同时同步修改eureka.client.service-url.defaultZone中的端口为对应值。
内容的提问来源于stack exchange,提问作者mr.Nobody
相关产品推荐
相关产品推荐

