News

NGINX 1.31.5: arriva la Control API open source, più fix su FastCGI, QUIC e HTTP/2

NGINX 1.31.5 porta nel core open source la Control API di NGINX Plus e corregge bug su FastCGI, uWSGI, memcached, slice filter, QUIC e HTTP/2.

Redazione UptimeMag · 2 settembre 2026 · 2 minuti di lettura

NGINX 1.31.5: arriva la Control API open source, più fix su FastCGI, QUIC e HTTP/2

NGINX ha rilasciato il 2 settembre 2026 la versione 1.31.5 della serie mainline, con un pacchetto di novità che va oltre il routing basato su variabili già circolato nei giorni scorsi. Il cambiamento che interessa chi tiene in produzione istanze NGINX è soprattutto un altro: la Control API, finora esclusiva di NGINX Plus, entra nel core open source.

Control API: reload con risposta JSON immediata

Il meccanismo più atteso dagli operatori di infrastrutture era la possibilità di inspezionare, validare e instradare sui payload API direttamente al margine della rete, ma sul fronte operativo la novità pratica è diversa. La Control API, introdotta per la prima volta in NGINX Plus R37.0, fornisce endpoint come /1/control/processes e /1/control/config per ispezione a runtime e reload di configurazione con feedback JSON sincrono. Per usarla in sicurezza va avviata su socket UNIX con nginx -l unix:/tmp/nginx.sock: è un'interfaccia non autenticata verso gli interni di NGINX e non va esposta su una porta di rete. Il reload si invoca poi con una PATCH su /1/control/config, sostituendo il tradizionale nginx -s reload seguito dal controllo manuale dei log di errore.

Bugfix che toccano la produzione

Oltre alle feature, la release corregge diversi difetti che in alcuni setup causavano errori concreti. Un fastcgi_param di 128 byte o più, o un uwsgi_param di 256 byte o più, veniva troncato nel campo lunghezza mentre il nome restava copiato per intero: il backend rispondeva con reset o chiusura della connessione e NGINX restituiva 502 su ogni richiesta a quella location. Corretti anche un overflow nella validazione delle risposte memcached vicine al valore massimo, un bug nello slice filter che ignorava range Range vicini al limite massimo, e un difetto nella gestione dei frame CRYPTO QUIC in pacchetti 1-RTT che chiudeva la connessione per fallimento nella derivazione delle chiavi.

Un fix più serio riguarda HTTP/2: un buffer di risposta bufferizzata poteva essere riciclato mentre il filtro di output lo usava ancora, con il rischio di inviare memoria già liberata al client o far crashare il worker. Corretto anche un caso in cui un worker con la tabella dei file descriptor piena non riusciva più a terminare dopo un segnale di shutdown.

Chi aggiorna da versioni precedenti della 1.31.x trova il changelog completo nelle note di rilascio pubblicate su nginx.org e nel repository GitHub del progetto.

Testo redatto con il supporto dell'intelligenza artificiale e verificato dalla redazione (AI Act, art. 50).