一、该问题的重现步骤是什么?
1. nacos连接的是生产服务器,redis
、mysql
、nacos
、sentinel
2.本地和生产环境都有这个问题,不知道为什么会访问内网ip
二、你期待的结果是什么?实际看到的又是什么?
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
bladex企业版,cloud版本,在window上启动
四、请提供详细的错误堆栈信息,这很重要。
blade-admin服务启动成功后提示:
2025-08-15T08:36:01.775+08:00 INFO 35684 --- [blade-admin] [ parallel-17] d.c.b.a.server.services.StatusUpdater : Couldn't retrieve status for Instance(id=fca3cbae4e06, version=0, registration=Registration(name=lz-patrol, managementUrl=http://内网ip:9103/actuator, healthUrl=http://内网ip:9103/actuator/health, serviceUrl=http://内网ip:9103, source=discovery), registered=true, statusInfo=StatusInfo(status=UNKNOWN, details={}), statusTimestamp=2025-08-15T00:35:52.763452700Z, info=Info(values={}), endpoints=Endpoints(endpoints={health=Endpoint(id=health, url=http://内网ip:9103/actuator/health)}), buildVersion=null, tags=Tags(values={}))
java.util.concurrent.TimeoutException: Did not observe any item or terminal signal within 9000ms in 'log' (and no fallback has been configured)
at reactor.core.publisher.FluxTimeout$TimeoutMainSubscriber.handleTimeout(FluxTimeout.java:296) ~[reactor-core-3.6.12.jar:3.6.12]
at reactor.core.publisher.FluxTimeout$TimeoutMainSubscriber.doTimeout(FluxTimeout.java:281) ~[reactor-core-3.6.12.jar:3.6.12]
at reactor.core.publisher.FluxTimeout$TimeoutTimeoutSubscriber.onNext(FluxTimeout.java:420) ~[reactor-core-3.6.12.jar:3.6.12]
at reactor.core.publisher.FluxOnErrorReturn$ReturnSubscriber.onNext(FluxOnErrorReturn.java:162) ~[reactor-core-3.6.12.jar:3.6.12]
at reactor.core.publisher.MonoDelay$MonoDelayRunnable.propagateDelay(MonoDelay.java:270) ~[reactor-core-3.6.12.jar:3.6.12]
at reactor.core.publisher.MonoDelay$MonoDelayRunnable.run(MonoDelay.java:285) ~[reactor-core-3.6.12.jar:3.6.12]
at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68) ~[reactor-core-3.6.12.jar:3.6.12]
at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28) ~[reactor-core-3.6.12.jar:3.6.12]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na]
本地正常启动前后端项目,登录页面验证码获取不到,接口返回:
{"msg":"Failed to handle request [GET http://localhost:8089/blade-auth/oauth/captcha]: Connection timed out: no further information:
/内网ip:8100","code":200,"data":null}
五、若有更多详细信息,请在下面提供。
用prod模式启动的还是docker启动的?
prod默认指定了内网ip,需要手动设置下,类似下面这样
bladex-admin:
image: "${REGISTER}/bladex-admin:${TAG}"
ports:
- 7002:7002
- ${ADMIN_SENTINEL_PORT}:${ADMIN_SENTINEL_PORT}
privileged: true
restart: always
command:
- --spring.profiles.active=${PROFILE}
- --spring.cloud.nacos.discovery.ip=${ADMIN_IP}
- --spring.cloud.nacos.discovery.port=${ADMIN_PORT}
- --spring.cloud.sentinel.transport.port=${ADMIN_SENTINEL_PORT}
- --spring.cloud.nacos.discovery.namespace=${NACOS_NAMESPACE}
- --spring.cloud.nacos.config.namespace=${NACOS_NAMESPACE}
- --spring.cloud.nacos.config.group=${NACOS_GROUP}
- --spring.cloud.nacos.config.server-addr=${NACOS_SERVER_ADDR}
- --spring.cloud.nacos.discovery.server-addr=${NACOS_SERVER_ADDR}
- --spring.cloud.sentinel.transport.dashboard=${SENTINEL_DASHBOARD_ADDR}
- --sentinel.heartbeat.client.ip=${ADMIN_IP}
networks:
- bladex_net
如果是docker启动,会注册docker子网到nacos,那后续其他服务(和docker不在一个环境)访问nacos的时候取的就是注册到nacos的子网ip,就连不上了。
如果要docker启动就需要全部都部署到一个网段里。
用prod/dev模式启动的,是这样配置吗,没有用啊
用的哪个模式启动的,具体启动流程是什么,改了哪些配置,都提供下,如果不知道怎么描述好,可以录个视频,把你的完整操作流程都录下来,从下载工程到配置中间件到配置nacos到启动服务,录制的时候把各项配置都录进去。
扫一扫访问 Blade技术社区 移动端