Application traffic failing through NSX-T Load Balancer
search cancel

Application traffic failing through NSX-T Load Balancer

book

Article ID: 430098

calendar_today

Updated On:

Products

VMware NSX

Issue/Introduction

  • This issue pertains to Layer 7 NSX-T native load balancers
  • In the Edge syslog, the following error may be observed against the load balancer:

    2026-02-11T16:22:22.997Z example.abc.com NSX 3879512 LOAD-BALANCER [nsx@6876 comp="nsx-edge" subcomp="lb" s2comp="lb" level="ERROR" errorCode="EDG9999999"] [70a####-####-####-####-######4844] upstream sent invalid chunked response while reading response header from upstream, client: ##.##.##.##, server: *.cert.abc.com, request: "POST /TEST HTTP/1.1", upstream: "http://##.##.##.##:8091/TEST", host: "abc.example.com"

  • A packet capture on load balancer interface of the backend application response confirms the duplicate headers:

    Hypertext Transfer Protocol, has 2 chunks (including last chunk)
        HTTP/1.1 200 \r\n
            Response Version: HTTP/1.1
            Status Code: 200
            [Status Code Description: OK]
        Content-Disposition: attachment; filename="document.bin"\r\n
        Transfer-Encoding: chunked\r\n
        Content-Type: application/octet-stream\r\n
        Transfer-Encoding: chunked\r\n
        Date: Thu, 12 Feb 2026 23:31:58 GMT\r\n
        Keep-Alive: timeout=60\r\n
        Connection: keep-alive\r\n

Environment

VMware NSX-T Data Center
VMware Tanzu Kubernetes Grid Integrated Edition (TKGI)

Cause

The backend application is incorrectly applying the Transfer-Encoding: chunked header more than once to the HTTP response message body. The NGINX-based engine utilized by the NSX-T Load Balancer strictly enforces HTTP standard compliance and drops responses containing duplicate chunked transfer coding headers.

Resolution

Modify the backend application code or application server configuration to remove duplicate header from being injected in the response. 

Additional Information

Per RFC 7230 Section 3.3.1, a sender must not apply chunked transfer coding more than once to a message body. Load balancers implementing strict HTTP validation will inherently fail these malformed responses.