title: Spring cloud gateway gives connection closed prematurely
body: <p>I am using spring cloud gateway as API gateway in my micro service setup with consul as service discovery.</p>
  
  <p>In some case when API of some microservice take more then 2 minutes, gateway throws below error:</p>
  
  <pre><code>java.io.IOException: Connection closed prematurely
  at reactor.ipc.netty.http.client.HttpClientOperations.onInboundClose(HttpClientOperations.java:269)
  at reactor.ipc.netty.channel.ChannelOperationsHandler.channelInactive(ChannelOperationsHandler.java:113)
  at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
  at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
  at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224)
  at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelInactive(CombinedChannelDuplexHandler.java:420)
  at io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:377)
  at io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:342)
  at io.netty.handler.codec.http.HttpClientCodec$Decoder.channelInactive(HttpClientCodec.java:282)
  at io.netty.channel.CombinedChannelDuplexHandler.channelInactive(CombinedChannelDuplexHandler.java:223)
  at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
  at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
  at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224)
  at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1429)
  at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
  at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
  at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:947)
  at io.netty.channel.AbstractChannel$AbstractUnsafe$8.run(AbstractChannel.java:822)
  at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
  at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
  at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:313)
  at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
  at java.lang.Thread.run(Thread.java:745)
  </code></pre>
  
  <p>I tried the same API multiple time, I got this error exactly after 2 minutes.</p>
  
  <p>Is there any property settings.
  Version and dependency details:</p>
  
  <pre><code>compile('org.springframework.cloud:spring-cloud-starter-consul-discovery')
  compile('org.springframework.cloud:spring-cloud-starter-gateway')
  compile('org.springframework.cloud:spring-cloud-starter-openfeign')
  
  
  springBootVersion=2.0.3.RELEASE
  springDMPVersion=1.0.4.RELEASE
  springPlatformBomVersion=Cairo-SR2
  </code></pre>
  
  <p>Ribbon settings:</p>
  
  <pre><code>ribbon:
    ConnectTimeout: 3000
    ReadTimeout: 3000
  </code></pre>