Overview
HTTP 413 is returned when a GET request exceeds the size limit enforced by a component in your stack. In a layered deployment (Anti-DDoS Pro or Anti-DDoS Premium → WAF → SLB → ECS), the first component whose limit the request exceeds rejects it. Fixing the wrong layer has no effect.
Problem description
If the request header size of a GET request exceeds 10 KB, HTTP status code 413 is returned.
Cause
In a stack that includes Anti-DDoS Pro or Anti-DDoS Premium, WAF, SLB, and ECS, the 413 error can originate from any layer. Use browser developer tools to identify which layer's response header indicates the rejection.
If the SLB instance uses a TCP listener, a low
client_max_body_sizevalue in NGINX causes the 413 error.If you redirect requests to ECS instances by modifying the hosts file and the issue reproduces, the cause is an incorrect NGINX configuration.
Solution
Set client_max_body_size in NGINX to a value that does not exceed the limit of any component in the request path:
Anti-DDoS Pro or Anti-DDoS Premium: 800 MB
WAF: 3 MB
SLB: 50 GB
Application scope
Anti-DDoS Pro and Anti-DDoS Premium