Spring Cloud Gateway Mvc 频繁抛出 IO 异常,路由失败并出现 403 错误

问题描述 投票:0回答:1

我正在将zuul配置迁移到spring cloud gateway mvc中。我在 spring boot application.yml 中配置了以下内容

spring:
  cloud:
    gateway:
      mvc:
        routes:
          - id: rabbitmq
            uri: http://localhost:15672/
            predicates:
              - Path=/rabbitmq/**
              - Method=GET, POST
            filters:
              - StripPrefix=1

如何在本地计算机中成功重定向,但在服务器中经常失败并出现以下错误

java.io.IOException: closed
    at java.net.http/jdk.internal.net.http.ResponseSubscribers$HttpResponseInputStream.current(ResponseSubscribers.java:460) ~[java.net.http:na]
    at java.net.http/jdk.internal.net.http.ResponseSubscribers$HttpResponseInputStream.read(ResponseSubscribers.java:499) ~[java.net.http:na]
    at java.base/java.io.InputStream.transferTo(InputStream.java:782) ~[na:na]
    at org.springframework.util.StreamUtils.copy(StreamUtils.java:150) ~[spring-core-6.1.4.jar:6.1.4]
    at org.springframework.cloud.gateway.server.mvc.handler.RestClientProxyExchange.lambda$doExchange$3(RestClientProxyExchange.java:52) ~[spring-cloud-gateway-server-mvc-4.1.0.jar:4.1.0]
    at org.springframework.cloud.gateway.server.mvc.handler.GatewayServerResponseBuilder$WriteFunctionResponse.writeToInternal(GatewayServerResponseBuilder.java:218) ~[spring-cloud-gateway-server-mvc-4.1.0.jar:4.1.0]
    at org.springframework.cloud.gateway.server.mvc.handler.AbstractGatewayServerResponse.writeTo(AbstractGatewayServerResponse.java:103) ~[spring-cloud-gateway-server-mvc-4.1.0.jar:4.1.0]
    at org.springframework.web.servlet.function.support.HandlerFunctionAdapter.handle(HandlerFunctionAdapter.java:111) ~[spring-webmvc-6.1.4.jar:6.1.4]

春季启动版本='3.2.3' spring-cloud-starter-gateway-mvc 版本:4.1.0

我尝试使用 http 客户端更改 spring boot 安全配置和连接超时属性,但没有任何效果..

RestClientProxyChange 的 IO 异常不应在服务器中发生。

spring spring-boot spring-mvc spring-security spring-cloud-gateway
1个回答
0
投票

因为我在这里绝望了,所以我改变了使用 nginx 入口控制器而不是 spring 云网关来路由服务的方法。我完全删除了 Spring Boot 服务中的 Spring Cloud Gateway MVC 代码,并使用 Kubernets nginx 入口控制器实现了路由。

© www.soinside.com 2019 - 2024. All rights reserved.