Sending a DELETE API request with a body to the NSX Load Balancer VIP results in a 413 Payload Too Large error.
search cancel

Sending a DELETE API request with a body to the NSX Load Balancer VIP results in a 413 Payload Too Large error.

book

Article ID: 400958

calendar_today

Updated On:

Products

VMware NSX

Issue/Introduction

When a DELETE API request containing a body payload is sent to the Load Balancer's VIP, the request fails with the following error:
413 Payload Too Large
The request entity exceeds the maximum allowed size.

The request is processed successfully when the client sends the DELETE request directly to the backend server.

Environment

VMware NSX

Cause

According to the HTTP/1.1 specification, it is valid for a DELETE request to include an entity body.

In this scenario, when the client sends a DELETE request to the Load Balancer VIP, the LB forwards the request to the backend server using HTTP/1.0.

However, the backend server does not support a DELETE request with a payload over HTTP/1.0, and therefore responds with a 413 Payload Too Large error.

Conversely, when the client sends the DELETE request directly to the backend server using HTTP/1.1, the request is processed successfully, as the server fully supports DELETE with a body in HTTP/1.1.

Resolution

This is a known behaviour of the NSX-T Data Center Load Balancer.

Workaround:

To use HTTP/v1.1 for communication to the pool members, enable TCP Multiplexing on Server Pools' additional Properties:

  1. Log in to the NSX UI.

  2. Navigate to the Networking tab.

  3. Under Network Services, click Load Balancing.

  4. Go to the Server Pools tab.

  5. Locate the desired Server Pool and click the ellipsis (⋮) next to it.

  6. Select Edit.

  7. Expand the Additional Properties section.

  8. Enable TCP Multiplexing.

  9. Click Save.