# upstream sent HTTP/1.0 response while reading response header from upstream, client: 10.0.0.5

- **ID:** `nginx/upstream-sent-http-1-0-response-while-reading-response-header`
- **Domain:** nginx
- **Category:** protocol_error
- **Verification:** ai_generated
- **Fix Rate:** 82%

## Root Cause

Upstream server returns HTTP/1.0 response when nginx expects HTTP/1.1 or HTTP/2, causing header parsing failure.

## Version Compatibility

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

## Workarounds

1. **Set 'proxy_http_version 1.1;' in the location block and ensure upstream supports HTTP/1.1. Example: location /api { proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Connection ''; }** (85% success)
   ```
   Set 'proxy_http_version 1.1;' in the location block and ensure upstream supports HTTP/1.1. Example: location /api { proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Connection ''; }
   ```
2. **If upstream cannot be changed, add 'proxy_set_header Connection close;' to force connection closure after each request.** (75% success)
   ```
   If upstream cannot be changed, add 'proxy_set_header Connection close;' to force connection closure after each request.
   ```

## Dead Ends

- **** — Buffer size is not the issue; the protocol version mismatch is unrelated to buffer allocation. (70% fail)
- **** — This forces HTTP/1.0 which may cause other issues; the real fix is to upgrade the upstream. (60% fail)
