访问内网ip

Blade 未结 2 161
追逐记忆
追逐记忆 剑侠 2025-08-15 08:51

一、该问题的重现步骤是什么?

1. nacos连接的是生产服务器,先启动redismysqlnacossentinel等基础服务等都是生产环境配置

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}

五、若有更多详细信息,请在下面提供。

2条回答
  • 2025-08-15 09:47

    用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启动就需要全部都部署到一个网段里。

    0 讨论(0)
  • 2025-08-15 10:18

    用prod/dev模式启动的,是这样配置吗,没有用啊
    image.png

    作者追问:2025-08-15 10:23

    用的哪个模式启动的,具体启动流程是什么,改了哪些配置,都提供下,如果不知道怎么描述好,可以录个视频,把你的完整操作流程都录下来,从下载工程到配置中间件到配置nacos到启动服务,录制的时候把各项配置都录进去。

    0 讨论(0)
提交回复