ProxyEndpoint [Salamander-ClientToZuulWorker-1] Error while connecting to origin
See original GitHub issueI have tried setting up project using the latest zuul version 2.3.0 and zuul-example and got some error when run,
Here is the error that I got:
2021-06-10 10:29:12,013 INFO zuul.server.nettylog [Salamander-ClientToZuulWorker-1] [id: 0x72396c28, L:/0:0:0:0:0:0:0:1%0:8887 - R:/0:0:0:0:0:0:0:1%0:33042] REGISTERED
2021-06-10 10:29:12,014 INFO zuul.server.nettylog [Salamander-ClientToZuulWorker-1] [id: 0x72396c28, L:/0:0:0:0:0:0:0:1%0:8887 - R:/0:0:0:0:0:0:0:1%0:33042] ACTIVE
2021-06-10 10:29:12,015 INFO zuul.server.nettylog [Salamander-ClientToZuulWorker-1] [id: 0x72396c28, L:/0:0:0:0:0:0:0:1%0:8887 - R:/0:0:0:0:0:0:0:1%0:33042] USER_EVENT: com.netflix.netty.common.HttpLifecycleChannelHandler$StartEvent@1d64b126
2021-06-10 10:29:12,015 INFO zuul.server.nettylog [Salamander-ClientToZuulWorker-1] [id: 0x72396c28, L:/0:0:0:0:0:0:0:1%0:8887 - R:/0:0:0:0:0:0:0:1%0:33042] READ: DefaultHttpRequest(decodeResult: success, version: HTTP/1.1)
GET /example HTTP/1.1
Host: localhost:8887
User-Agent: curl/7.77.0
Accept: */*
2021-06-10 10:29:14,493 ERROR com.netflix.zuul.filters.endpoint.ProxyEndpoint [Salamander-ClientToZuulWorker-1] Error while connecting to origin, UUID {} a67f7871-d63f-43b4-bb7b-2f03863e254a
java.lang.ClassCastException: com.netflix.loadbalancer.Server cannot be cast to com.netflix.niws.loadbalancer.DiscoveryEnabledServer
at com.netflix.zuul.discovery.DynamicServerResolver.resolve(DynamicServerResolver.java:55) ~[zuul-discovery-2.3.0.jar:2.3.0]
at com.netflix.zuul.discovery.DynamicServerResolver.resolve(DynamicServerResolver.java:41) ~[zuul-discovery-2.3.0.jar:2.3.0]
at com.netflix.zuul.netty.connectionpool.DefaultClientChannelManager.acquire(DefaultClientChannelManager.java:328) ~[zuul-core-2.3.0.jar:2.3.0]
at com.netflix.zuul.origins.BasicNettyOrigin.connectToOrigin(BasicNettyOrigin.java:122) ~[zuul-core-2.3.0.jar:2.3.0]
at com.netflix.zuul.filters.endpoint.ProxyEndpoint.proxyRequestToOrigin(ProxyEndpoint.java:423) [zuul-core-2.3.0.jar:2.3.0]
at com.netflix.zuul.filters.endpoint.ProxyEndpoint.apply(ProxyEndpoint.java:297) [zuul-core-2.3.0.jar:2.3.0]
at com.netflix.zuul.filters.endpoint.ProxyEndpoint.apply(ProxyEndpoint.java:121) [zuul-core-2.3.0.jar:2.3.0]
at com.netflix.zuul.netty.filter.BaseZuulFilterRunner.filter(BaseZuulFilterRunner.java:221) [zuul-core-2.3.0.jar:2.3.0]
at com.netflix.zuul.netty.filter.ZuulEndPointRunner.filter(ZuulEndPointRunner.java:95) [zuul-core-2.3.0.jar:2.3.0]
at com.netflix.zuul.netty.filter.ZuulEndPointRunner.filter(ZuulEndPointRunner.java:51) [zuul-core-2.3.0.jar:2.3.0]
at com.netflix.zuul.netty.filter.BaseZuulFilterRunner.invokeNextStage(BaseZuulFilterRunner.java:144) [zuul-core-2.3.0.jar:2.3.0]
at com.netflix.zuul.netty.filter.ZuulFilterChainRunner.runFilters(ZuulFilterChainRunner.java:88) [zuul-core-2.3.0.jar:2.3.0]
at com.netflix.zuul.netty.filter.ZuulFilterChainRunner.filter(ZuulFilterChainRunner.java:56) [zuul-core-2.3.0.jar:2.3.0]
at com.netflix.zuul.netty.filter.ZuulFilterChainHandler.channelRead(ZuulFilterChainHandler.java:81) [zuul-core-2.3.0.jar:2.3.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at com.netflix.zuul.netty.server.ClientRequestReceiver.channelReadInternal(ClientRequestReceiver.java:168) [zuul-core-2.3.0.jar:2.3.0]
at com.netflix.zuul.netty.server.ClientRequestReceiver.channelRead(ClientRequestReceiver.java:115) [zuul-core-2.3.0.jar:2.3.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.handler.logging.LoggingHandler.channelRead(LoggingHandler.java:271) [netty-handler-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at com.netflix.netty.common.proxyprotocol.StripUntrustedProxyHeadersHandler.channelRead(StripUntrustedProxyHeadersHandler.java:93) [zuul-core-2.3.0.jar:2.3.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at com.netflix.netty.common.accesslog.AccessLogChannelHandler$AccessLogInboundChannelHandler.channelRead(AccessLogChannelHandler.java:71) [zuul-core-2.3.0.jar:2.3.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at com.netflix.netty.common.metrics.HttpBodySizeRecordingChannelHandler$InboundChannelHandler.channelRead(HttpBodySizeRecordingChannelHandler.java:85) [zuul-core-2.3.0.jar:2.3.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at com.netflix.netty.common.HttpServerLifecycleChannelHandler$HttpServerLifecycleInboundChannelHandler.channelRead(HttpServerLifecycleChannelHandler.java:43) [zuul-core-2.3.0.jar:2.3.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at com.netflix.netty.common.HttpRequestReadTimeoutHandler.channelRead(HttpRequestReadTimeoutHandler.java:78) [zuul-core-2.3.0.jar:2.3.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at com.netflix.zuul.netty.insights.PassportStateHttpServerHandler$InboundHandler.channelRead(PassportStateHttpServerHandler.java:70) [zuul-core-2.3.0.jar:2.3.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) [netty-codec-4.1.63.Final.jar:4.1.63.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) [netty-codec-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at com.netflix.netty.common.throttle.MaxInboundConnectionsHandler.channelRead(MaxInboundConnectionsHandler.java:83) [zuul-core-2.3.0.jar:2.3.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at com.netflix.netty.common.proxyprotocol.ElbProxyProtocolChannelHandler.channelRead(ElbProxyProtocolChannelHandler.java:62) [zuul-core-2.3.0.jar:2.3.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) [netty-handler-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:795) [netty-transport-native-epoll-4.1.63.Final-linux-x86_64.jar:4.1.63.Final]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:480) [netty-transport-native-epoll-4.1.63.Final-linux-x86_64.jar:4.1.63.Final]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378) [netty-transport-native-epoll-4.1.63.Final-linux-x86_64.jar:4.1.63.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) [netty-common-4.1.63.Final.jar:4.1.63.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.63.Final.jar:4.1.63.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.63.Final.jar:4.1.63.Final]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_292]
2021-06-10 10:29:14,497 WARN com.netflix.zuul.filters.endpoint.ProxyEndpoint [Salamander-ClientToZuulWorker-1] FAILURE_LOCAL, origin = OriginName{niwsClientName='example', target='example', authority='example', authorityTrusted=false}, origin channel info =
java.lang.ClassCastException: com.netflix.loadbalancer.Server cannot be cast to com.netflix.niws.loadbalancer.DiscoveryEnabledServer
at com.netflix.zuul.discovery.DynamicServerResolver.resolve(DynamicServerResolver.java:55) ~[zuul-discovery-2.3.0.jar:2.3.0]
at com.netflix.zuul.discovery.DynamicServerResolver.resolve(DynamicServerResolver.java:41) ~[zuul-discovery-2.3.0.jar:2.3.0]
at com.netflix.zuul.netty.connectionpool.DefaultClientChannelManager.acquire(DefaultClientChannelManager.java:328) ~[zuul-core-2.3.0.jar:2.3.0]
at com.netflix.zuul.origins.BasicNettyOrigin.connectToOrigin(BasicNettyOrigin.java:122) ~[zuul-core-2.3.0.jar:2.3.0]
at com.netflix.zuul.filters.endpoint.ProxyEndpoint.proxyRequestToOrigin(ProxyEndpoint.java:423) [zuul-core-2.3.0.jar:2.3.0]
at com.netflix.zuul.filters.endpoint.ProxyEndpoint.apply(ProxyEndpoint.java:297) [zuul-core-2.3.0.jar:2.3.0]
at com.netflix.zuul.filters.endpoint.ProxyEndpoint.apply(ProxyEndpoint.java:121) [zuul-core-2.3.0.jar:2.3.0]
at com.netflix.zuul.netty.filter.BaseZuulFilterRunner.filter(BaseZuulFilterRunner.java:221) [zuul-core-2.3.0.jar:2.3.0]
at com.netflix.zuul.netty.filter.ZuulEndPointRunner.filter(ZuulEndPointRunner.java:95) [zuul-core-2.3.0.jar:2.3.0]
at com.netflix.zuul.netty.filter.ZuulEndPointRunner.filter(ZuulEndPointRunner.java:51) [zuul-core-2.3.0.jar:2.3.0]
at com.netflix.zuul.netty.filter.BaseZuulFilterRunner.invokeNextStage(BaseZuulFilterRunner.java:144) [zuul-core-2.3.0.jar:2.3.0]
at com.netflix.zuul.netty.filter.ZuulFilterChainRunner.runFilters(ZuulFilterChainRunner.java:88) [zuul-core-2.3.0.jar:2.3.0]
at com.netflix.zuul.netty.filter.ZuulFilterChainRunner.filter(ZuulFilterChainRunner.java:56) [zuul-core-2.3.0.jar:2.3.0]
at com.netflix.zuul.netty.filter.ZuulFilterChainHandler.channelRead(ZuulFilterChainHandler.java:81) [zuul-core-2.3.0.jar:2.3.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at com.netflix.zuul.netty.server.ClientRequestReceiver.channelReadInternal(ClientRequestReceiver.java:168) [zuul-core-2.3.0.jar:2.3.0]
at com.netflix.zuul.netty.server.ClientRequestReceiver.channelRead(ClientRequestReceiver.java:115) [zuul-core-2.3.0.jar:2.3.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.handler.logging.LoggingHandler.channelRead(LoggingHandler.java:271) [netty-handler-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at com.netflix.netty.common.proxyprotocol.StripUntrustedProxyHeadersHandler.channelRead(StripUntrustedProxyHeadersHandler.java:93) [zuul-core-2.3.0.jar:2.3.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at com.netflix.netty.common.accesslog.AccessLogChannelHandler$AccessLogInboundChannelHandler.channelRead(AccessLogChannelHandler.java:71) [zuul-core-2.3.0.jar:2.3.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at com.netflix.netty.common.metrics.HttpBodySizeRecordingChannelHandler$InboundChannelHandler.channelRead(HttpBodySizeRecordingChannelHandler.java:85) [zuul-core-2.3.0.jar:2.3.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at com.netflix.netty.common.HttpServerLifecycleChannelHandler$HttpServerLifecycleInboundChannelHandler.channelRead(HttpServerLifecycleChannelHandler.java:43) [zuul-core-2.3.0.jar:2.3.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at com.netflix.netty.common.HttpRequestReadTimeoutHandler.channelRead(HttpRequestReadTimeoutHandler.java:78) [zuul-core-2.3.0.jar:2.3.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at com.netflix.zuul.netty.insights.PassportStateHttpServerHandler$InboundHandler.channelRead(PassportStateHttpServerHandler.java:70) [zuul-core-2.3.0.jar:2.3.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324) [netty-codec-4.1.63.Final.jar:4.1.63.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296) [netty-codec-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at com.netflix.netty.common.throttle.MaxInboundConnectionsHandler.channelRead(MaxInboundConnectionsHandler.java:83) [zuul-core-2.3.0.jar:2.3.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at com.netflix.netty.common.proxyprotocol.ElbProxyProtocolChannelHandler.channelRead(ElbProxyProtocolChannelHandler.java:62) [zuul-core-2.3.0.jar:2.3.0]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) [netty-handler-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) [netty-transport-4.1.63.Final.jar:4.1.63.Final]
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:795) [netty-transport-native-epoll-4.1.63.Final-linux-x86_64.jar:4.1.63.Final]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:480) [netty-transport-native-epoll-4.1.63.Final-linux-x86_64.jar:4.1.63.Final]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378) [netty-transport-native-epoll-4.1.63.Final-linux-x86_64.jar:4.1.63.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) [netty-common-4.1.63.Final.jar:4.1.63.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.63.Final.jar:4.1.63.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.63.Final.jar:4.1.63.Final]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_292]
2021-06-10 10:29:14,501 WARN com.netflix.zuul.netty.server.ClientResponseWriter [Salamander-ClientToZuulWorker-1] Writing response to client channel before have received the LastContent of request! uri=http://localhost:8887/example, method=get, clientip=0:0:0:0:0:0:0:1, Channel: [id: 0x72396c28, L:/0:0:0:0:0:0:0:1%0:8887 - R:/0:0:0:0:0:0:0:1%0:33042], active=true, open=true, registered=true, writable=true, id=72396c28, Passport: CurrentPassport {start_ms=1623295752014, [+0=SERVER_CH_ACTIVE, +977041=IN_REQ_HEADERS_RECEIVED, +1393605=FILTERS_INBOUND_START, +1646898=FILTERS_INBOUND_END, +2487748390=FILTERS_OUTBOUND_START, +2487822400=FILTERS_OUTBOUND_END, +2487916792=NOW]}
2021-06-10 10:29:14,502 INFO zuul.server.nettylog [Salamander-ClientToZuulWorker-1] [id: 0x72396c28, L:/0:0:0:0:0:0:0:1%0:8887 - R:/0:0:0:0:0:0:0:1%0:33042] WRITE: DefaultHttpResponse(decodeResult: success, version: HTTP/1.1)
HTTP/1.1 500 Internal Server Error
transfer-encoding: chunked
Connection: close
2021-06-10 10:29:14,502 INFO zuul.server.nettylog [Salamander-ClientToZuulWorker-1] [id: 0x72396c28, L:/0:0:0:0:0:0:0:1%0:8887 - R:/0:0:0:0:0:0:0:1%0:33042] WRITE, DefaultLastHttpContent(data: UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeHeapByteBuf(ridx: 0, widx: 0, cap: 0), decoderResult: success), 0B
2021-06-10 10:29:14,502 INFO zuul.server.nettylog [Salamander-ClientToZuulWorker-1] [id: 0x72396c28, L:/0:0:0:0:0:0:0:1%0:8887 - R:/0:0:0:0:0:0:0:1%0:33042] FLUSH
2021-06-10 10:29:14,503 INFO ACCESS [Salamander-ClientToZuulWorker-1] 2021-06-10T10:29:12.015 0:0:0:0:0:0:0:1 8887 GET /example 500 2488039 - a67f7871-d63f-43b4-bb7b-2f03863e254a - "localhost:8887" "-" "-" "-" "-" "curl/7.77.0" "-" "-" "-"
2021-06-10 10:29:14,503 INFO zuul.server.nettylog [Salamander-ClientToZuulWorker-1] [id: 0x72396c28, L:/0:0:0:0:0:0:0:1%0:8887 - R:/0:0:0:0:0:0:0:1%0:33042] USER_EVENT: com.netflix.netty.common.HttpLifecycleChannelHandler$CompleteEvent@697465be
2021-06-10 10:29:14,503 INFO zuul.server.nettylog [Salamander-ClientToZuulWorker-1] [id: 0x72396c28, L:/0:0:0:0:0:0:0:1%0:8887 - R:/0:0:0:0:0:0:0:1%0:33042] CLOSE
2021-06-10 10:29:14,504 INFO zuul.server.nettylog [Salamander-ClientToZuulWorker-1] [id: 0x72396c28, L:/0:0:0:0:0:0:0:1%0:8887 ! R:/0:0:0:0:0:0:0:1%0:33042] READ, EmptyLastHttpContent, 0B
2021-06-10 10:29:14,504 INFO zuul.server.nettylog [Salamander-ClientToZuulWorker-1] [id: 0x72396c28, L:/0:0:0:0:0:0:0:1%0:8887 ! R:/0:0:0:0:0:0:0:1%0:33042] READ COMPLETE
2021-06-10 10:29:14,504 INFO zuul.server.nettylog [Salamander-ClientToZuulWorker-1] [id: 0x72396c28, L:/0:0:0:0:0:0:0:1%0:8887 ! R:/0:0:0:0:0:0:0:1%0:33042] INACTIVE
2021-06-10 10:29:14,504 INFO zuul.server.nettylog [Salamander-ClientToZuulWorker-1] [id: 0x72396c28, L:/0:0:0:0:0:0:0:1%0:8887 ! R:/0:0:0:0:0:0:0:1%0:33042] CLOSE
2021-06-10 10:29:14,504 INFO zuul.server.nettylog [Salamander-ClientToZuulWorker-1] [id: 0x72396c28, L:/0:0:0:0:0:0:0:1%0:8887 ! R:/0:0:0:0:0:0:0:1%0:33042] UNREGISTERED
Bootstrap.java
public class Bootstrap {
public static void main(String[] args) {
new Bootstrap().start();
}
public void start() {
System.out.println("Zuul Sample: starting up.");
long startTime = System.currentTimeMillis();
int exitCode = 0;
Server server = null;
try {
Injector injector = Guice.createInjector(new ZuulSampleModule());
BaseServerStartup serverStartup = injector.getInstance(BaseServerStartup.class);
server = serverStartup.server();
long startupDuration = System.currentTimeMillis() - startTime;
System.out.println("Zuul Sample: finished startup. Duration = " + startupDuration + " ms");
server.start();
server.awaitTermination();
}
catch (Throwable t) {
t.printStackTrace();
System.err.println("###############");
System.err.println("Zuul Sample: initialization failed. Forcing shutdown now.");
System.err.println("###############");
exitCode = 1;
}
finally {
// server shutdown
if (server != null) server.stop();
System.exit(exitCode);
}
}
}
SampleServerStartup.java
@Singleton
public class SampleServerStartup extends BaseServerStartup {
enum ServerType {
HTTP,
HTTP2,
HTTP_MUTUAL_TLS,
}
private static final String[] WWW_PROTOCOLS = new String[]{"TLSv1.2", "TLSv1.1", "TLSv1", "SSLv3"};
private static final ServerType SERVER_TYPE = ServerType.HTTP;
@Inject
public SampleServerStartup(ServerStatusManager serverStatusManager, FilterLoader filterLoader,
SessionContextDecorator sessionCtxDecorator, FilterUsageNotifier usageNotifier,
RequestCompleteHandler reqCompleteHandler, Registry registry,
DirectMemoryMonitor directMemoryMonitor, EventLoopGroupMetrics eventLoopGroupMetrics,
ApplicationInfoManager applicationInfoManager,
AccessLogPublisher accessLogPublisher) {
super(serverStatusManager, filterLoader, sessionCtxDecorator, usageNotifier, reqCompleteHandler, registry,
directMemoryMonitor, eventLoopGroupMetrics, null, applicationInfoManager,
accessLogPublisher);
}
@Override
protected Map<NamedSocketAddress, ChannelInitializer<?>> chooseAddrsAndChannels(ChannelGroup clientChannels) {
Map<NamedSocketAddress, ChannelInitializer<?>> addrsToChannels = new HashMap<>();
SocketAddress sockAddr;
String metricId;
{
@Deprecated
int port = new DynamicIntProperty("zuul.server.port.main", 8887).get();
sockAddr = new SocketAddressProperty("zuul.server.addr.main", "=" + port).getValue();
if (sockAddr instanceof InetSocketAddress) {
metricId = String.valueOf(((InetSocketAddress) sockAddr).getPort());
} else {
// Just pick something. This would likely be a UDS addr or a LocalChannel addr.
metricId = sockAddr.toString();
}
}
String mainListenAddressName = "main";
ServerSslConfig sslConfig;
ChannelConfig channelConfig = defaultChannelConfig(mainListenAddressName);
ChannelConfig channelDependencies = defaultChannelDependencies(mainListenAddressName);
/* These settings may need to be tweaked depending if you're running behind an ELB HTTP listener, TCP listener,
* or directly on the internet.
*/
switch (SERVER_TYPE) {
/* The below settings can be used when running behind an ELB HTTP listener that terminates SSL for you
* and passes XFF headers.
*/
case HTTP:
channelConfig.set(CommonChannelConfigKeys.allowProxyHeadersWhen, StripUntrustedProxyHeadersHandler.AllowWhen.ALWAYS);
channelConfig.set(CommonChannelConfigKeys.preferProxyProtocolForClientIp, false);
channelConfig.set(CommonChannelConfigKeys.isSSlFromIntermediary, false);
channelConfig.set(CommonChannelConfigKeys.withProxyProtocol, false);
addrsToChannels.put(
new NamedSocketAddress("http", sockAddr),
new ZuulServerChannelInitializer(
metricId, channelConfig, channelDependencies, clientChannels));
logAddrConfigured(sockAddr);
break;
/* The below settings can be used when running behind an ELB TCP listener with proxy protocol, terminating
* SSL in Zuul.
*/
case HTTP2:
sslConfig = ServerSslConfig.withDefaultCiphers(
loadFromResources("server.cert"),
loadFromResources("server.key"),
WWW_PROTOCOLS);
channelConfig.set(CommonChannelConfigKeys.allowProxyHeadersWhen, StripUntrustedProxyHeadersHandler.AllowWhen.NEVER);
channelConfig.set(CommonChannelConfigKeys.preferProxyProtocolForClientIp, true);
channelConfig.set(CommonChannelConfigKeys.isSSlFromIntermediary, false);
channelConfig.set(CommonChannelConfigKeys.serverSslConfig, sslConfig);
channelConfig.set(CommonChannelConfigKeys.sslContextFactory, new BaseSslContextFactory(registry, sslConfig));
addHttp2DefaultConfig(channelConfig, mainListenAddressName);
addrsToChannels.put(
new NamedSocketAddress("http2", sockAddr),
new Http2SslChannelInitializer(
metricId, channelConfig, channelDependencies, clientChannels));
logAddrConfigured(sockAddr, sslConfig);
break;
/* The below settings can be used when running behind an ELB TCP listener with proxy protocol, terminating
* SSL in Zuul.
*
* Can be tested using certs in resources directory:
* curl https://localhost:7001/test -vk --cert src/main/resources/ssl/client.cert:zuul123 --key src/main/resources/ssl/client.key
*/
case HTTP_MUTUAL_TLS:
sslConfig = new ServerSslConfig(
WWW_PROTOCOLS,
ServerSslConfig.getDefaultCiphers(),
loadFromResources("server.cert"),
loadFromResources("server.key"),
ClientAuth.REQUIRE,
loadFromResources("truststore.jks"),
loadFromResources("truststore.key"),
false);
channelConfig.set(CommonChannelConfigKeys.allowProxyHeadersWhen, StripUntrustedProxyHeadersHandler.AllowWhen.NEVER);
channelConfig.set(CommonChannelConfigKeys.preferProxyProtocolForClientIp, true);
channelConfig.set(CommonChannelConfigKeys.isSSlFromIntermediary, false);
channelConfig.set(CommonChannelConfigKeys.withProxyProtocol, true);
channelConfig.set(CommonChannelConfigKeys.serverSslConfig, sslConfig);
channelConfig.set(CommonChannelConfigKeys.sslContextFactory, new BaseSslContextFactory(registry, sslConfig));
addrsToChannels.put(
new NamedSocketAddress("http_mtls", sockAddr),
new Http1MutualSslChannelInitializer(
metricId, channelConfig, channelDependencies, clientChannels));
logAddrConfigured(sockAddr, sslConfig);
break;
}
return Collections.unmodifiableMap(addrsToChannels);
}
private File loadFromResources(String s) {
return new File(ClassLoader.getSystemResource("ssl/" + s).getFile());
}
}
ZuulSampleModule.java
public class ZuulSampleModule extends AbstractModule {
@Override
protected void configure() {
try {
ConfigurationManager.loadCascadedPropertiesFromResources("application");
} catch (Exception ex) {
throw new RuntimeException("Error loading configuration: " + ex.getMessage(), ex);
}
bind(AbstractConfiguration.class).toInstance(ConfigurationManager.getConfigInstance());
bind(DynamicCodeCompiler.class).to(GroovyCompiler.class);
bind(FilenameFilter.class).to(GroovyFileFilter.class);
// install(new EurekaModule());
// sample specific bindings
bind(BaseServerStartup.class).to(SampleServerStartup.class);
// use provided basic netty origin manager
bind(OriginManager.class).to(BasicNettyOriginManager.class);
// zuul filter loading
install(new ZuulFiltersModule());
bind(FilterLoader.class).to(DynamicFilterLoader.class);
bind(FilterRegistry.class).to(MutableFilterRegistry.class);
bind(FilterFileManager.class).asEagerSingleton();
// general server bindings
bind(ServerStatusManager.class); // health/discovery status
bind(SessionContextDecorator.class).to(ZuulSessionContextDecorator.class); // decorate new sessions when requests come in
bind(Registry.class).to(DefaultRegistry.class); // atlas metrics registry
bind(RequestCompleteHandler.class).to(BasicRequestCompleteHandler.class); // metrics post-request completion
bind(RequestMetricsPublisher.class).to(BasicRequestMetricsPublisher.class); // timings publisher
// access logger, including request ID generator
bind(AccessLogPublisher.class).toInstance(new AccessLogPublisher("ACCESS",
(channel, httpRequest) -> ClientRequestReceiver.getRequestFromChannel(channel).getContext().getUUID()));
}
}
application.properties
zuul.filters.root=src/main/groovy/zuul2/filters
zuul.filters.locations=${zuul.filters.root}/inbound,${zuul.filters.root}/outbound,${zuul.filters.root}/endpoint
zuul.filters.packages=com.netflix.zuul.filters.common
example.ribbon.listOfServers=example.com:80
example.ribbon.client.NIWSServerListClassName=com.netflix.loadbalancer.ConfigurationBasedServerList
eureka.shouldFetchRegistry=false
eureka.validateInstanceId=false
I have tried search everywhere but couldn’t find any solution. Any idea how to make it working please?
Issue Analytics
- State:
- Created 2 years ago
- Reactions:4
- Comments:7
Top Results From Across the Web
API proxy configuration reference | Apigee Edge
Defines how the ProxyEndpoint reacts to an error. A fault rule specifies two items: A Condition that specifies the fault to be handled...
Read more >CORS Error Preflight Missing Allow Origin from redirect
I am getting a CORS error whenever I am trying to call the proxy endpoint ... I am sure that I have placed...
Read more >API proxy configuration reference | Apigee X - Google Cloud
Defines how the ProxyEndpoint reacts to an error. A fault rule specifies two items: A Condition that specifies the fault to be handled...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
I believe the issue is with using
ConfigurationBasedServerList
as the ribbon load balancer. The2.3.0
refactor to decouple Zuul’s discovery from ribbon’s load balancing, chooses to enforces a stricter type constraint.If you intend to use the configuration based props file, suggested workaround would be to implement an adapter similar to com.netflix.niws.loadbalancer.DiscoveryEnabledNIWSServerList, with the server list supplied by the config file.
Sorry about the inconvenience.
@argha-c Thanks. Replacing ConfigurationBasedServerList with a custom adapter worked.