SECURITY WARNING: Never run commands you don't understand. Always review code before execution. Use at your own risk.
Proxy 17 errors

Proxy & Load Balancer Errors

nginx, Envoy, HAProxy, Traefik, Caddy and Cloudflare upstream failures.

Understanding Proxy errors

A proxy error tells you about the proxy's relationship with the upstream, not about the upstream's business logic. nginx's 502 means it could not get a valid response; 504 means the upstream did not answer in time; Envoy's flag codes (UH no healthy upstream, UF upstream connection failure, NR no route) are far more precise than the status code. Reading those flags is the fastest path to a diagnosis.

How to debug Proxy errors

  1. Include upstream detail in the access log format: $upstream_addr, $upstream_status and $upstream_response_time in nginx turn a generic 502 into a specific one.
  2. Bypass the proxy and call the upstream directly from the proxy host. If that works, the issue is proxy configuration: timeouts, buffers, DNS caching or TLS to the backend.
  3. For Envoy, read the response flags in the access log rather than the status code. UH, UF, UO and NR each have distinct fixes.
  4. Check that the proxy re-resolves DNS. nginx caches upstream IPs at startup by default, which breaks when backends move. Use a resolver directive with a variable upstream.
  5. For header-size and body-size errors, raise the limit at every layer; CDN, load balancer and origin each enforce their own.

Tools worth reaching for

  • nginx -T
  • envoy access logs (response flags)
  • haproxy -c -f
  • curl --resolve
  • traefik dashboard

All 17 Proxy errors

Other categories