Jhipster 网关转发和超时错误

Posted

技术标签:

【中文标题】Jhipster 网关转发和超时错误【英文标题】:Jhipster gateway forwarding and timeout error 【发布时间】:2019-03-08 14:01:07 【问题描述】:

我在上传文件时使用 jhipster 和 gateway

在我已经尝试过的应用程序属性中,

zuul:
    host:
        connect-timeout-millis: 10000
        socket-timeout-millis: 10000

hystrix:
    command:
        default:
            execution:
                timeout:
                    enabled: false

zuul:
    host:
        connect-timeout-millis: 10000
        socket-timeout-millis: 10000

hystrix:
    command:
        default:
            execution:
                isolation:
                    thread:
                        timeoutInMilliseconds: 60000

2018-10-03 16:09:10.621 调试 13048 --- [XNIO-5 任务 1] c.c.w.g.a.AccessControlFilter :访问控制:允许 访问/core/api/ci/upload/file,因为没有访问控制策略 已设置服务:核心 2018-10-03 16:09:15.726 WARN 13048 --- [XNIO-5 task-1] o.s.c.n.z.filters.post.SendErrorFilter:错误 过滤时

com.netflix.zuul.exception.ZuulException:转发错误 在 org.springframework.cloud.netflix.zuul.filters.route.RibbonRoutingFilter.handleException(RibbonRoutingFilter.java:188) 在 org.springframework.cloud.netflix.zuul.filters.route.RibbonRoutingFilter.forward(RibbonRoutingFilter.java:163) 在 org.springframework.cloud.netflix.zuul.filters.route.RibbonRoutingFilter.run(RibbonRoutingFilter.java:111) 在 com.netflix.zuul.ZuulFilter.runFilter(ZuulFilter.java:112) 在 com.netflix.zuul.FilterProcessor.processZuulFilter(FilterProcessor.java:193) 在 com.netflix.zuul.FilterProcessor.runFilters(FilterProcessor.java:157) 在 com.netflix.zuul.FilterProcessor.route(FilterProcessor.java:118) 在 com.netflix.zuul.ZuulRunner.route(ZuulRunner.java:96) 在 com.netflix.zuul.http.ZuulServlet.route(ZuulServlet.java:116) 在 com.netflix.zuul.http.ZuulServlet.service(ZuulServlet.java:81) 在 org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:157) 在 org.springframework.cloud.netflix.zuul.web.ZuulController.handleRequest(ZuulController.java:44) 在 org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:50) 在 org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967) 在 org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901) 在 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) 在 org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:707) 在 org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:790) 在 io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74) 在 io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129) 在 com.codahale.metrics.servlet.AbstractInstrumentedFilter.doFilter(AbstractInstrumentedFilter.java:111) 在 io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) 在 io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) 在 org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:55) 在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 在 io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) 在 io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) 在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101) 在 io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) 在 io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) 在 org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:111) 在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 在 io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) 在 io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) 在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317) 在 org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127) 在 org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91) 在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) 在 org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114) 在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) 在 org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137) 在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) 在 org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111) 在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) 在 org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170) 在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) 在 org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) 在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) 在 com.xxx.web.security.jwt.JWTFilter.doFilter(JWTFilter.java:45) 在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) 在 org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96) 在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) 在 org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116) 在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) 在 org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:66) 在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) 在 org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) 在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) 在 org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56) 在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 在 org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331) 在 org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214) 在 org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177) 在 org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347) 在 org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263) 在 io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) 在 io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) 在 org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) 在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 在 io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) 在 io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) 在 org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:109) 在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 在 io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) 在 io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) 在 org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81) 在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 在 io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) 在 io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) 在 org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) 在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 在 io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) 在 io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131) 在 io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) 在 io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) 在 io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:64) 在 io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) 在 io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:132) 在 io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) 在 io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) 在 io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) 在 io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) 在 io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) 在 io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77) 在 io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) 在 io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) 在 io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) 在 io.undertow.servlet.handlers.SessionRestoringHandler.handleRequest(SessionRestoringHandler.java:119) 在 io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292) 在 io.undertow.servlet.handlers.ServletInitialHandler.access 100 美元(ServletInitialHandler.java:81) 在 io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138) 在 io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135) 在 io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48) 在 io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) 在 io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272) 在 io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81) 在 io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104) 在 io.undertow.server.Connectors.executeRootHandler(Connectors.java:336) 在 io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 java.lang.Thread.run(Thread.java:748) 引起:com.netflix.client.ClientException: null 在 com.netflix.client.AbstractLoadBalancerAwareClient.executeWithLoadBalancer(AbstractLoadBalancerAwareClient.java:123) 在 org.springframework.cloud.netflix.zuul.filters.route.support.AbstractRibbonCommand.run(AbstractRibbonCommand.java:105) 在 org.springframework.cloud.netflix.zuul.filters.route.support.AbstractRibbonCommand.run(AbstractRibbonCommand.java:43) 在 com.netflix.hystrix.HystrixCommand$2.call(HystrixCommand.java:302) 在 com.netflix.hystrix.HystrixCommand$2.call(HystrixCommand.java:298) 在 rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:46) 在 rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:35) 在 rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48) 在 rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30) 在 rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48) 在 rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30) 在 rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48) 在 rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30) 在 rx.Observable.unsafeSubscribe(Observable.java:10211) 在 rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:51) 在 rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:35) 在 rx.Observable.unsafeSubscribe(Observable.java:10211) 在 rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41) 在 rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30) 在 rx.Observable.unsafeSubscribe(Observable.java:10211) 在 rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41) 在 rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30) 在 rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48) 在 rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30) 在 rx.Observable.unsafeSubscribe(Observable.java:10211) 在 rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41) 在 rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30) 在 rx.Observable.unsafeSubscribe(Observable.java:10211) 在 rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41) 在 rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30) 在 rx.Observable.unsafeSubscribe(Observable.java:10211) 在 rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41) 在 rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30) 在 rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48) 在 rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30) 在 rx.Observable.unsafeSubscribe(Observable.java:10211) 在 rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:51) 在 rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:35) 在 rx.Observable.unsafeSubscribe(Observable.java:10211) 在 rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:48) 在 rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:33) 在 rx.Observable.unsafeSubscribe(Observable.java:10211) 在 rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41) 在 rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30) 在 rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48) 在 rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30) 在 rx.Observable.unsafeSubscribe(Observable.java:10211) 在 rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41) 在 rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30) 在 rx.Observable.unsafeSubscribe(Observable.java:10211) 在 rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:51) 在 rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:35) 在 rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48) 在 rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30) 在 rx.Observable.subscribe(Observable.java:10307) 在 rx.Observable.subscribe(Observable.java:10274) 在 rx.internal.operators.BlockingOperatorToFuture.toFuture(BlockingOperatorToFuture.java:51) 在 rx.observables.BlockingObservable.toFuture(BlockingObservable.java:412) 在 com.netflix.hystrix.HystrixCommand.queue(HystrixCommand.java:378) 在 com.netflix.hystrix.HystrixCommand.execute(HystrixCommand.java:344) 在 org.springframework.cloud.netflix.zuul.filters.route.RibbonRoutingFilter.forward(RibbonRoutingFilter.java:157) ...省略了 114 个常见帧 原因:java.lang.RuntimeException:java.net.SocketTimeoutException:读取 时间到 在 rx.exceptions.Exceptions.propagate(Exceptions.java:58) 在 rx.observables.BlockingObservable.blockForSingle(BlockingObservable.java:465) 在 rx.observables.BlockingObservable.single(BlockingObservable.java:342) 在 com.netflix.client.AbstractLoadBalancerAwareClient.executeWithLoadBalancer(AbstractLoadBalancerAwareClient.java:117) ...省略了 174 个常见帧 原因:java.net.SocketTimeoutException:读取超时 在 java.net.SocketInputStream.socketRead0(本机方法) 在 java.net.SocketInputStream.socketRead(SocketInputStream.java:116) 在 java.net.SocketInputStream.read(SocketInputStream.java:171) 在 java.net.SocketInputStream.read(SocketInputStream.java:141) 在 org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137) 在 org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153) 在 org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:282) 在 org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138) 在 org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56) 在 org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259) 在 org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163) 在 org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:165) 在 org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273) 在 org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125) 在 org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272) 在 org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185) 在 org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) 在 org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:111) 在 org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185) 在 org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83) 在 org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108) 在 org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56) 在 org.springframework.cloud.netflix.ribbon.apache.RetryableRibbonLoadBalancingHttpClient$1.doWithRetry(RetryableRibbonLoadBalancingHttpClient.java:93) 在 org.springframework.cloud.netflix.ribbon.apache.RetryableRibbonLoadBalancingHttpClient$1.doWithRetry(RetryableRibbonLoadBalancingHttpClient.java:71) 在 org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:287) 在 org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:164) 在 org.springframework.cloud.netflix.ribbon.apache.RetryableRibbonLoadBalancingHttpClient.executeWithRetry(RetryableRibbonLoadBalancingHttpClient.java:113) 在 org.springframework.cloud.netflix.ribbon.apache.RetryableRibbonLoadBalancingHttpClient.execute(RetryableRibbonLoadBalancingHttpClient.java:104) 在 org.springframework.cloud.netflix.ribbon.apache.RetryableRibbonLoadBalancingHttpClient.execute(RetryableRibbonLoadBalancingHttpClient.java:50) 在 com.netflix.client.AbstractLoadBalancerAwareClient$1.call(AbstractLoadBalancerAwareClient.java:109) 在 com.netflix.loadbalancer.reactive.LoadBalancerCommand$3$1.call(LoadBalancerCommand.java:303) 在 com.netflix.loadbalancer.reactive.LoadBalancerCommand$3$1.call(LoadBalancerCommand.java:287) 在 rx.internal.util.ScalarSynchronousObservable$3.call(ScalarSynchronousObservable.java:231) 在 rx.internal.util.ScalarSynchronousObservable$3.call(ScalarSynchronousObservable.java:228) 在 rx.Observable.unsafeSubscribe(Observable.java:10211) 在 rx.internal.operators.OnSubscribeConcatMap$ConcatMapSubscriber.drain(OnSubscribeConcatMap.java:286) 在 rx.internal.operators.OnSubscribeConcatMap$ConcatMapSubscriber.onNext(OnSubscribeConcatMap.java:144) 在 com.netflix.loadbalancer.reactive.LoadBalancerCommand$1.call(LoadBalancerCommand.java:185) 在 com.netflix.loadbalancer.reactive.LoadBalancerCommand$1.call(LoadBalancerCommand.java:180) 在 rx.Observable.unsafeSubscribe(Observable.java:10211) 在 rx.internal.operators.OnSubscribeConcatMap.call(OnSubscribeConcatMap.java:94) 在 rx.internal.operators.OnSubscribeConcatMap.call(OnSubscribeConcatMap.java:42) 在 rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48) 在 rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30) 在 rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48) 在 rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30) 在 rx.Observable.subscribe(Observable.java:10307) 在 rx.Observable.subscribe(Observable.java:10274) 在 rx.observables.BlockingObservable.blockForSingle(BlockingObservable.java:445) ... 省略了 176 个常用帧

【问题讨论】:

github.com/spring-cloud/spring-cloud-netflix/issues/321 github.com/jhipster/generator-jhipster/issues/3323 【参考方案1】:

经过大量的测试和搜索我找到了一个解决方案,我们还需要在 mili 中配置和增加功能区超时。

hystrix:
    command:
        default:
            execution:
                isolation:
                    thread:
                        timeoutInMilliseconds: 30000
ribbon:
    ReadTimeout: 60000
    ConnectionTimeout: 3000
    eureka:
        enabled: true
zuul:
    host:
        connect-timeout-millis: 5000
        max-per-route-connections: 10000
        max-total-connections: 5000
        socket-timeout-millis: 60000
    semaphore:
        max-semaphores: 500

【讨论】:

以上是关于Jhipster 网关转发和超时错误的主要内容,如果未能解决你的问题,请参考以下文章

phpMyAdmin 错误 504 网关超时重新加载

运行cron作业时出现网关超时错误

“PayPal 网关已拒绝请求。超时处理请求(#10001:内部错误”

使用 Zuul 代理服务器时出现“网关超时”错误

AWS - 错误 504 - 网关超时 - Flask 应用程序

增加 504 超时错误