«

2021年6月22日 Gateway网关启动相关错误记录

Mahalalel 发布于 阅读:5332 微服务


一、无法启动

Disconnected from the target VM, address: '127.0.0.1:9719', transport: 'socket'

启动后直接中断连接,开始以为是端口号被占用,所以修改端口号,仍然没有效果;

其他服务启动时,日志配置报错“RuntimeException in Action for tag [property] StringIndexOutOfBoundsException”;排查发现是定义property时,日志存储路径用了反斜杠“\”,改为斜杠“/”后,启动正常。

而网关服务中日志存储路径也修改好了,其他的配置没有,Nacos注册中心本地也在单例运行,所以仍然判断是日志配置文件有问题,导致服务无法启动。

网络上有篇文章,讲是缺少开发、测试环境的配置,排查本地工程时,发现也有配置:

<!-- 开发环境和测试环境 -->
<springProfile name="dev,test">
    <logger name="com.mahalalel" level="INFO">
        <appender-ref ref="CONSOLE"/>
    </logger>
</springProfile>

但是,比对后发现有个关键的配置没有添加

<root level="INFO">
    <appender-ref ref="CONSOLE"/>
</root>

在springProfile中添加之后,启动后也有日志输出

2、启动过程中报错:

异常如下:

Property: spring.cloud.gateway.routes[0].uri
Value: null
Reason: 不能为null

排查application.yml配置文件,发现也有配置路由,仔细看了下异常信息,发现配置路由时书写错误。
错误配置:

spring:
  cloud:
    gateway:
      routes:# 路由配置
        - id: service-core
          url: lb://service-core
          predicates:
            - Path=/*/core/**

uri写成了url,故此无法启动;修改后可以正常启动。

正确的配置:

spring:
  cloud:
    gateway:
      routes:# 路由配置
        - id: service-core
          uri: lb://service-core
          predicates:
            - Path=/*/core/**

gateway 启动报错