# Nginx: [error] upstream sent too big header while reading response header from upstream (502 Bad Gateway)

**Code:** `upstream sent too big header while reading response header` · **Category:** Nginx / Apache · **Seen on:** Nginx, Linux

The backend's response headers (cookies, Set-Cookie, long headers) exceeded Nginx's proxy/fastcgi buffer size.

## Meaning

Increase buffers: for proxy — `proxy_buffer_size 16k; proxy_buffers 4 16k; proxy_busy_buffers_size 32k;`; for PHP-FPM — `fastcgi_buffer_size 16k; fastcgi_buffers 16 16k;`. Alternatively shrink headers (fewer/huge cookies, giant redirect URLs, debug headers).

## Common causes

- Large cookies/session headers
- Many Set-Cookie headers
- Long Location or custom headers
- Framework debug headers (Laravel Debugbar)
- Default buffer 4k/8k too small

## Quick fix

1. Raise `proxy_buffer_size`/`fastcgi_buffer_size` and related buffers
2. Reduce cookie/header size
3. Remove debug headers in production

## Detailed fix by platform

### Nginx

1. `proxy_buffer_size 16k; proxy_buffers 4 16k; proxy_busy_buffers_size 32k;` then `nginx -t && systemctl reload nginx`

## How to diagnose

1. **Header** — Which is huge?
2. **Buffers** — Sizes?
3. **Source** — Cookies/debug?

---
Source: [WhatIsMyError](https://whatismyerror.com/errors/nginx-apache/nginx-upstream-sent-too-big-header)
