如何修复ZUUL异常转发错误

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

我正在使用 springboot 微服务项目。我有网关、发现和更多项目。 我将其部署在 aws cloud front 容器中。 部署后,我随机遇到一些 zuul 异常。它不是一直发生,而是在我第一次调用 api 时随机发生。第二次工作正常。我只在网关中收到错误。 我们正在使用依赖:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
    <version>2.2.9.RELEASE</version>
</dependency>

错误:

2024-04-12T19:58:30.957+05:30   2024-04-12 14:28:30.955 WARN 2628 --- [nio-8122-exec-1] o.s.c.n.z.filters.post.SendErrorFilter : Error during filtering
2024-04-12T19:58:30.957+05:30   
2024-04-12T19:58:30.957+05:30   com.netflix.zuul.exception.ZuulException: Forwarding error
2024-04-12T19:58:30.957+05:30   at org.springframework.cloud.netflix.zuul.filters.route.SimpleHostRoutingFilter.handleException(SimpleHostRoutingFilter.java:261) ~[spring-cloud-netflix-zuul-2.2.9.RELEASE.jar!/:2.2.9.RELEASE]
2024-04-12T19:58:30.957+05:30   at org.springframework.cloud.netflix.zuul.filters.route.SimpleHostRoutingFilter.run(SimpleHostRoutingFilter.java:241) ~[spring-cloud-netflix-zuul-2.2.9.RELEASE.jar!/:2.2.9.RELEASE]
2024-04-12T19:58:30.957+05:30   at com.netflix.zuul.ZuulFilter.runFilter(ZuulFilter.java:117) ~[zuul-core-1.3.1.jar!/:1.3.1]
2024-04-12T19:58:30.957+05:30   at com.netflix.zuul.FilterProcessor.processZuulFilter(FilterProcessor.java:193) ~[zuul-core-1.3.1.jar!/:1.3.1]
2024-04-12T19:58:30.957+05:30   at com.netflix.zuul.FilterProcessor.runFilters(FilterProcessor.java:157) ~[zuul-core-1.3.1.jar!/:1.3.1]
2024-04-12T19:58:30.957+05:30   at com.netflix.zuul.FilterProcessor.route(FilterProcessor.java:118) ~[zuul-core-1.3.1.jar!/:1.3.1]
2024-04-12T19:58:30.957+05:30   at com.netflix.zuul.ZuulRunner.route(ZuulRunner.java:96) ~[zuul-core-1.3.1.jar!/:1.3.1]
2024-04-12T19:58:30.957+05:30   at com.netflix.zuul.http.ZuulServlet.route(ZuulServlet.java:116) ~[zuul-core-1.3.1.jar!/:1.3.1]
2024-04-12T19:58:30.957+05:30   at com.netflix.zuul.http.ZuulServlet.service(ZuulServlet.java:81) ~[zuul-core-1.3.1.jar!/:1.3.1]
2024-04-12T19:58:30.957+05:30   at org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:166) ~[spring-webmvc-5.3.10.jar!/:5.3.10]
2024-04-12T19:58:30.957+05:30   at org.springframework.cloud.netflix.zuul.web.ZuulController.handleRequest(ZuulController.java:45) ~[spring-cloud-netflix-zuul-2.2.9.RELEASE.jar!/:2.2.9.RELEASE]
2024-04-12T19:58:30.957+05:30   at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:51) ~[spring-webmvc-5.3.10.jar!/:5.3.10]
2024-04-12T19:58:30.957+05:30   at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067) ~[spring-webmvc-5.3.10.jar!/:5.3.10]
2024-04-12T19:58:30.957+05:30   at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) ~[spring-webmvc-5.3.10.jar!/:5.3.10]
2024-04-12T19:58:30.957+05:30   at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.10.jar!/:5.3.10]
2024-04-12T19:58:30.957+05:30   at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.10.jar!/:5.3.10]
2024-04-12T19:58:30.957+05:30   at javax.servlet.http.HttpServlet.service(HttpServlet.java:681) ~[tomcat-embed-core-9.0.53.jar!/:4.0.1]
2024-04-12T19:58:30.957+05:30   at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.10.jar!/:5.3.10]
2024-04-12T19:58:30.957+05:30   at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) ~[tomcat-embed-core-9.0.53.jar!/:4.0.1]
2024-04-12T19:58:30.957+05:30   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:113) ~[spring-web-5.3.10.jar!/:5.3.10]
2024-04-12T19:58:30.957+05:30   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at com.myProject.gateway.jwtconfig.JwtRequestFilter.doFilterInternal(JwtRequestFilter.java:127) ~[classes!/:0.0.1-SNAPSHOT]
2024-04-12T19:58:30.957+05:30   at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.10.jar!/:5.3.10]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91) ~[spring-web-5.3.10.jar!/:5.3.10]
2024-04-12T19:58:30.957+05:30   at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.10.jar!/:5.3.10]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.10.jar!/:5.3.10]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.10.jar!/:5.3.10]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183) ~[spring-security-web-5.4.8.jar!/:5.4.8]
2024-04-12T19:58:30.957+05:30   at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) ~[spring-web-5.3.10.jar!/:5.3.10]
2024-04-12T19:58:30.957+05:30   at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) ~[spring-web-5.3.10.jar!/:5.3.10]
2024-04-12T19:58:30.957+05:30   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.10.jar!/:5.3.10]
2024-04-12T19:58:30.957+05:30   at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.10.jar!/:5.3.10]
2024-04-12T19:58:30.957+05:30   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.10.jar!/:5.3.10]
2024-04-12T19:58:30.957+05:30   at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.10.jar!/:5.3.10]
2024-04-12T19:58:30.957+05:30   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:97) ~[spring-boot-actuator-2.4.11.jar!/:2.4.11]
2024-04-12T19:58:30.957+05:30   at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.10.jar!/:5.3.10]
2024-04-12T19:58:30.957+05:30   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.10.jar!/:5.3.10]
2024-04-12T19:58:30.957+05:30   at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.10.jar!/:5.3.10]
2024-04-12T19:58:30.957+05:30   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1726) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.53.jar!/:na]
2024-04-12T19:58:30.957+05:30   at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]
2024-04-12T19:58:30.957+05:30   Caused by: java.net.SocketException: Connection reset
2024-04-12T19:58:30.957+05:30   at java.base/java.net.SocketInputStream.read(SocketInputStream.java:186) ~[na:na]
2024-04-12T19:58:30.957+05:30   at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140) ~[na:na]
2024-04-12T19:58:30.957+05:30   at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137) ~[httpcore-4.4.14.jar!/:4.4.14]
2024-04-12T19:58:30.957+05:30   at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153) ~[httpcore-4.4.14.jar!/:4.4.14]
2024-04-12T19:58:30.957+05:30   at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:280) ~[httpcore-4.4.14.jar!/:4.4.14]
2024-04-12T19:58:30.957+05:30   at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138) ~[httpclient-4.5.13.jar!/:4.5.13]
2024-04-12T19:58:30.957+05:30   at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56) ~[httpclient-4.5.13.jar!/:4.5.13]
2024-04-12T19:58:30.957+05:30   at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259) ~[httpcore-4.4.14.jar!/:4.4.14]
2024-04-12T19:58:30.957+05:30   at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163) ~[httpcore-4.4.14.jar!/:4.4.14]
2024-04-12T19:58:30.957+05:30   at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:157) ~[httpclient-4.5.13.jar!/:4.5.13]
2024-04-12T19:58:30.957+05:30   at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273) ~[httpcore-4.4.14.jar!/:4.4.14]
2024-04-12T19:58:30.957+05:30   at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125) ~[httpcore-4.4.14.jar!/:4.4.14]
2024-04-12T19:58:30.957+05:30   at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272) ~[httpclient-4.5.13.jar!/:4.5.13]
2024-04-12T19:58:30.957+05:30   at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186) ~[httpclient-4.5.13.jar!/:4.5.13]
2024-04-12T19:58:30.957+05:30   at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) ~[httpclient-4.5.13.jar!/:4.5.13]
2024-04-12T19:58:30.957+05:30   at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185) ~[httpclient-4.5.13.jar!/:4.5.13]
2024-04-12T19:58:30.957+05:30   at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:118) ~[httpclient-4.5.13.jar!/:4.5.13]
2024-04-12T19:58:30.957+05:30   at org.springframework.cloud.netflix.zuul.filters.route.SimpleHostRoutingFilter.forwardRequest(SimpleHostRoutingFilter.java:422) ~[spring-cloud-netflix-zuul-2.2.9.RELEASE.jar!/:2.2.9.RELEASE]
2024-04-12T19:58:30.957+05:30   at org.springframework.cloud.netflix.zuul.filters.route.SimpleHostRoutingFilter.forward(SimpleHostRoutingFilter.java:341) ~[spring-cloud-netflix-zuul-2.2.9.RELEASE.jar!/:2.2.9.RELEASE]
2024-04-12T19:58:30.957+05:30   at org.springframework.cloud.netflix.zuul.filters.route.SimpleHostRoutingFilter.run(SimpleHostRoutingFilter.java:236) ~[spring-cloud-netflix-zuul-2.2.9.RELEASE.jar!/:2.2.9.RELEASE]
2024-04-12T19:58:30.957+05:30   ... 98 common frames omitted
2024-04-12T19:58:30.957+05:30   

网关 application.yml 如下所示:

server:  
  port: 8122
  tomcat:
    connection-timeout: 180000

management:
  endpoint:
    serviceregistry:
      enabled: true
    restart:
      enabled: true
    shutdown:
      enabled: true
    health:
      enabled: true

zuul:
  ignored-headers: Access-Control-Allow-Credentials, Access-Control-Allow-Origin
  host:
    socket-timeout-millis: 500000
    connect-timeout-millis: 500000
  routes:
    serviceOne: 
      url: <deployedURL>:8123 
    serviceTwo:
      url: <deployedURL>:8124
    serviceThree:
      url: <deployedURL>:8125  
    serviceFour:
      url: <deployedURL>:8126
    serviceFive:
      url: <deployedURL>:8127
  ribbon:
    eureka:
      eager-load: true
ribbon:
  eureka:
    enabled: true  
  ReadTimeout: 600000
  ConnectTimeout: 1000000
  MaxAutoRetries: 1
  MaxAutoRetriesNextServer: 1

eureka:
  instance:
    appname: discovery-service
  client:
    serviceUrl:
      defaultZone: <deployedURL>:8121/eureka/
    registerWithEureka: false

hystrix:
  command:
    default:
      execution:
        isolation:
          strategy: THREAD
          thread:
            timeoutInMilliseconds: 1000000
          semaphore:
            maxConcurrentRequests: 2000
        timeout:
          enabled: false

尝试将zuul版本更改为2.2.10.RELEASE和2.2.8.RELEASE,但没有成功。 还尝试更改一些超时,但这也没有成功。

spring-boot spring-security microservices amazon-ecs netflix-zuul
1个回答
0
投票

看起来 Zuul 和 Ribbon 是这里的问题

让我解决这个问题

增加 Zuul 和 Ribbon 的连接和套接字超时值。您可以尝试将值增加到比当前值更大的值,看看是否可以解决问题 在 Eureka 配置中将 eureka.client.registerWithEureka 属性设置为 true 这将向 Eureka 注册网关服务,这可能有助于服务发现和路由 在 Ribbon 配置中将 Ribbon.eureka.enabled 属性设置为 false 这将禁用通过 Eureka 的服务发现,并使用 zuul.routes 配置中指定的 URL 如果服务发现或注册出现问题,这会有所帮助 将 hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds 属性设置为更高的值这将增加 Hystrix 命令的超时,如果下游服务响应缓慢,这可能会有所帮助 考虑在下游服务之前使用 NGINX 或 HAProxy 等负载均衡器来分配流量并提高性能 以下是如何根据上述建议修改配置的示例

服务器: 端口:8122 雄猫: 连接超时:180000

管理: 端点: 服务注册表: 启用:真 重新开始: 启用:真 关闭: 启用:真 健康: 启用:真

祖尔: 忽略标头:访问控制允许凭据、访问控制允许来源 主持人: socket-timeout-millis: 600000 # 增加套接字超时 connect-timeout-millis: 600000 # 增加连接超时 路线: 服务一: 网址::8123 服务二: 网址::8124 服务三: 网址: :8125
服务四: 网址::8126 服务五: 网址::8127 丝带: 尤里卡: 急切加载:true enabled: false # 禁用 Eureka 服务发现 丝带: 读取超时:600000 连接超时:1000000 最大自动重试次数:1 最大自动重试下一个服务器:1

尤里卡: 实例: 应用程序名称:发现服务 客户: 服务网址: 默认区域::8121/尤里卡/ registerWithEureka: true # 向 Eureka 注册网关服务

hystrix: 命令: 默认: 执行: 隔离: 策略:线程 线: 超时毫秒:1000000 信号: 最大并发请求数:2000 暂停: 启用:假

稍后谢谢我 这花了这么长时间

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