# upstream sent too big header while reading response header from upstream

- **ID:** `nginx/upstream-sent-too-big-header-while-reading-response-header`
- **Domain:** nginx
- **Category:** config_error
- **Verification:** ai_generated
- **Fix Rate:** 85%

## Root Cause

The upstream server sends HTTP response headers that exceed the proxy_buffer_size or large_client_header_buffers limit, often due to large cookies or custom headers.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| nginx 1.18.0 | active | — | — |
| nginx 1.20.2 | active | — | — |
| nginx 1.22.1 | active | — | — |
| nginx 1.24.0 | active | — | — |
| nginx 1.25.3 | active | — | — |

## Workarounds

1. **Increase proxy_buffer_size to 8k or more in the location block: proxy_buffer_size 8k; proxy_buffers 8 8k;** (85% success)
   ```
   Increase proxy_buffer_size to 8k or more in the location block: proxy_buffer_size 8k; proxy_buffers 8 8k;
   ```
2. **Optimize upstream application to reduce header size, e.g., limit cookie size or remove unnecessary custom headers** (75% success)
   ```
   Optimize upstream application to reduce header size, e.g., limit cookie size or remove unnecessary custom headers
   ```
3. **Set proxy_buffering off as a last resort: proxy_buffering off; (increases memory but bypasses buffer limit)** (60% success)
   ```
   Set proxy_buffering off as a last resort: proxy_buffering off; (increases memory but bypasses buffer limit)
   ```

## Dead Ends

- **** — proxy_buffer_size must be increased in the server/location context; also proxy_buffers number may need adjustment. (70% fail)
- **** — This controls client headers, not upstream response headers; it's irrelevant. (90% fail)
- **** — The issue is on the upstream server side, not client side; cache clearing doesn't help. (95% fail)
