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

Details

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

    Description

      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)
      

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: