Come appare il messaggio
2026/10/23 08:47:55 [error] 1234#1234: *7890 upstream sent too big header while reading response header from upstream, client: 198.51.100.7, server: cloud.beispiel.de, request: "GET /apps/user_saml/saml/acs HTTP/2.0"Cause frequenti
- Header
Set-Cookiegrandi o numerosi, tipici dopo un login SSO (SAML, OIDC) con token lunghi. - Header
Content-Security-PolicyoLinkmolto lunghi. - I buffer di default da 4 KB / 8 KB (
fastcgi_buffer_size,proxy_buffer_size) sono troppo piccoli. - Output di debug dell'applicazione finito negli header.
Verifica
- Trova l'errore nel log di nginx
grep 'too big header' /var/log/nginx/error.log | tail -n 5 - Misura la dimensione degli header di risposta
curl -s -o /dev/null -w '%{size_header}\n' https://cloud.example.com/ - Guarda tutti gli header
curl -sI https://cloud.example.com/login - Mostra le impostazioni attuali dei buffer
nginx -T 2>/dev/null | grep -E 'fastcgi_buffer|proxy_buffer'
Soluzione
- Per PHP-FPM:
fastcgi_buffer_size 32k;efastcgi_buffers 16 16k;nel bloccolocationgiusto. - Per un reverse proxy:
proxy_buffer_size 16k;,proxy_buffers 8 16k;,proxy_busy_buffers_size 32k;. - Applica con
nginx -t && systemctl reload nginx. - Riduci nell'applicazione i cookie inutili o duplicati.
Domande frequenti
Perché succede solo dopo il login SSO?
Al rientro dall'identity provider l'applicazione imposta insieme diversi cookie di sessione e SAML. È proprio quella risposta a sforare il buffer.
Posso fare i buffer grandi quanto voglio?
I valori valgono per connessione. 32–64 KB non sono un problema; molto di più indica un problema nell'applicazione.