【问题标题】:Spring cloud gateway AbstractErrorWebExceptionHandlerSpring Cloud 网关 AbstractErrorWebExceptionHandler
【发布时间】:2021-02-10 14:01:26
【问题描述】:

我已经为所有传入请求创建了全局路由,并面对 AbstractErrorWebExceptionHandler。

我的应用程序.yml

spring:
  cloud:
    gateway:
      routes:
        - id: global_route
          uri: http://localhost:8082
          predicates:
            - Path=/**
          filters:
            - RewritePath=/service(?<segment>/?.*), $\{segment}
        - id: authorization_route
          uri: http://localhost:8082
          predicates:
            - Path=/key/login
          filters:
            - JWTFilter=RSA512,HS512

我运行应用程序时的日志:

2020-10-28 09:31:58.606 ERROR 9184 --- [ctor-http-nio-1] a.w.r.e.AbstractErrorWebExceptionHandler : [6d5d3da0]  500 Server Error for HTTP GET "/keyfd"

io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: no further information: localhost/127.0.0.1:8082
    Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: 
Error has been observed at the following site(s):
    |_ checkpoint ⇢ org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter [DefaultWebFilterChain]
    |_ checkpoint ⇢ HTTP GET "/keyfd" [ExceptionHandlingWebHandler]
Stack trace:
Caused by: java.net.ConnectException: Connection refused: no further information
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.8.0_221]
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) ~[na:1.8.0_221]
    at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:330) ~[netty-transport-4.1.52.Final.jar:4.1.52.Final]
    at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:334) ~[netty-transport-4.1.52.Final.jar:4.1.52.Final]
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:702) ~[netty-transport-4.1.52.Final.jar:4.1.52.Final]
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650) ~[netty-transport-4.1.52.Final.jar:4.1.52.Final]
    at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576) ~[netty-transport-4.1.52.Final.jar:4.1.52.Final]
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) ~[netty-transport-4.1.52.Final.jar:4.1.52.Final]
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) ~[netty-common-4.1.52.Final.jar:4.1.52.Final]
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.52.Final.jar:4.1.52.Final]
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.52.Final.jar:4.1.52.Final]
    at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_221]

感谢您的帮助。

【问题讨论】:

  • 网络问题?连接被拒绝
  • 我在答案中指定了原因

标签: java spring spring-cloud spring-cloud-gateway


【解决方案1】:

错误原因是我为spring cloud gateway指定的uri与我正在运行此应用程序的uri相同。所以应用程序在 localhost:8082 上启动,路由的 uri 是 localhost:8082。

【讨论】:

  • 嗨 Artemii 我遇到了同样的问题,不同之处在于我正在使用 uri: lb://USER-SERVICE 像这样,但是当我运行应用程序时,我遇到了同样的问题。你能帮忙吗
猜你喜欢
  • 2020-08-06
  • 2020-07-10
  • 2021-05-27
  • 1970-01-01
  • 2017-07-27
  • 1970-01-01
  • 2021-06-16
  • 2016-12-20
  • 2019-03-16
相关资源
最近更新 更多