Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-8592

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

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 7.1.0.DR17
    • 7.0.5.CR1, 7.1.0.DR11
    • Undertow
    • 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)
      

            rpelisse@redhat.com Romain Pelisse
            rhatlapa@redhat.com Radim Hatlapatka (Inactive)
            Jan Stourac Jan Stourac
            Jan Stourac Jan Stourac
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: