NGINX Ingress Controller 5.7.0: versione HTTP verso i backend configurabile per servizio
La release 5.7.0 permette di scegliere HTTP/1.0, 1.1 o 2 verso i pod backend, via Service, annotazione Ingress o campo VirtualServer.
Redazione UptimeMag · 10 novembre 2026 · 2 minuti di lettura

Da NGINX Ingress Controller 5.7.0 si può decidere con quale versione HTTP il controller parla con i pod backend, invece di dipendere sempre da HTTP/1.1 di default. Per chi gestisce cluster Kubernetes con backend misti — alcuni che accettano già HTTP/2 in chiaro (h2c), altri ancora fermi a HTTP/1.0 — la differenza si traduce in meno 502 Bad Gateway e meno configurazioni custom scritte a mano per aggirare il limite.
Tre modi per impostarla
Il controller offre tre leve, in ordine di precedenza decrescente:
- Annotazione su Ingress o campo su VirtualServer:
nginx.org/proxy-http-version: "1.0","1.1"o"2"sull'Ingress; campo nativoproxy-http-versionsottoupstreamsnel VirtualServer. - appProtocol del Service: se la porta del Service ha
appProtocol: kubernetes.io/h2c, il controller genera automaticamenteproxy_http_version 2;senza bisogno di annotazioni. - Default: se non è impostato nulla, resta HTTP/1.1.
L'annotazione sull'Ingress vince sempre su quanto dichiarato dal Service, utile per forzare temporaneamente HTTP/1.1 in debug senza toccare il manifest del Service. Negli Ingress mergeable (master/minion), un'annotazione sul master viene ereditata dai minion che non ne impostano una propria.
Limiti da tenere a mente
Il WebSocket richiede HTTP/1.1 per il meccanismo di Upgrade: se un Service elencato in nginx.org/websocket-services risolve a HTTP/2 o HTTP/1.0 (anche per inferenza da appProtocol), il controller emette un evento di warning visibile con kubectl describe ingress. I backend gRPC non sono toccati: vengono sempre proxati con grpc_pass in HTTP/2, e l'annotazione viene ignorata con relativo warning. Cambiano anche gli header: su HTTP/2 il controller omette Connection e Upgrade (vietati da RFC 9113 §8.2.2), su HTTP/1.0 invia Connection: close.
Il contesto della release
La funzione fa parte di NGINX Ingress Controller 5.7.0, che sul GitHub ufficiale del progetto risulta essere la release stabile più recente. La stessa versione, secondo il blog di rilascio ufficiale, include più di 30 correzioni di bug e miglioramenti di stabilità e corregge due vulnerabilità di bypass dell'autenticazione esterna, CVE-2026-94197 e CVE-2026-104939, un dettaglio di sicurezza che vale la pena conoscere per chi sta pianificando l'aggiornamento. Va ricordato che questo progetto, sviluppato da F5/NGINX, è distinto dal controller comunitario ingress-nginx, che ha annunciato il proprio ritiro a marzo 2026 e non riceverà più aggiornamenti o patch di sicurezza: chi usa ancora quest'ultimo deve valutare la migrazione.
Per i dettagli di configurazione e gli esempi completi, la documentazione ufficiale resta il riferimento per annotazione e campo VirtualServer.
Testo redatto con il supporto dell'intelligenza artificiale e verificato dalla redazione (AI Act, art. 50).