Uploaded image for project: 'Undertow'
  1. Undertow
  2. UNDERTOW-998

Connection is closed without HTTP response when the headers are bigger than defined header-size

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 2.0.0.Beta1, 1.4.12.Final
    • None
    • None
    • None

      When there is defined header-size-limit and I send request with headers bigger than allowed amount of headers, it terminates immediately the connection without sending response back. I would expect 400 response to be sent back.

      Note when connecting directly this is not so big issue. On the other hand when the worker is hidden behind proxy (tried with using EAP 7.1.0.DR11 with undertow configured as mod_cluster proxy), it results in multiple ERROR messages about connection being closed in server log of the proxy [1]. Messages of this type caused due bad requests should end in creating ERROR messages in balancer log and should rather be ending in access-log.

      Also user will get 503 for such request instead of having propagated the worker response.

      [1]

      13:28:44,684 ERROR [io.undertow.proxy] (default I/O-7) UT005028: Proxy request to /simple-servlet/ failed: java.nio.channels.ClosedChannelException
      	at io.undertow.client.ajp.AjpClientConnection$ClientReceiveListener.handleEvent(AjpClientConnection.java:332)
      	at io.undertow.client.ajp.AjpClientConnection$ClientReceiveListener.handleEvent(AjpClientConnection.java:324)
      	at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
      	at io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.handleEvent(AbstractFramedChannel.java:932)
      	at io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.handleEvent(AbstractFramedChannel.java:913)
      	at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
      	at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66)
      	at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:89)
      	at org.xnio.nio.WorkerThread.run(WorkerThread.java:567)
      

              sdouglas1@redhat.com Stuart Douglas (Inactive)
              sdouglas1@redhat.com Stuart Douglas (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: