È stata pubblicata la versione principale di nginx 1.29.4, in cui continua lo sviluppo di nuove funzionalità. Nella versione stabile parallela 1.28.x vengono apportate solo modifiche relative alla correzione di gravi bug e vulnerabilità. In futuro, sulla base della versione principale 1.29.x verrà formata una versione stabile 1.30. Il codice del progetto è scritto in C e viene distribuito con licenza BSD.
Nel nuovo rilascio:
- Il modulo ngx_http_proxy ha aggiunto il supporto per il protocollo HTTP/2, che consente l'uso di HTTP/2 quando si interagisce con i backend.
- È stato aggiunto il supporto per l'estensione TLS ECH (Encrypted ClientHello), che continua lo sviluppo dell'estensione ESNI (Encrypted Server Name Indication) e viene utilizzato per crittografare le informazioni sui parametri delle sessioni TLS, come il nome di dominio richiesto. La principale differenza tra ECH ed ESNI è che in ECH, anziché crittografare a livello di singoli campi, viene crittografato l'intero messaggio TLS ClientHello, consentendo di bloccare eventuali perdite attraverso i campi non coperti da ESNI, ad esempio il campo PSK (Pre-Shared Key). L'uso di ECH è attivato specificando nel file di configurazione ECHConfig nel formato PEM la direttiva "ssl_ech_file". Il supporto è disponibile utilizzando le build di OpenSSL con ECH.
- Le regole di verifica dell'host e della porta nel testo della richiesta, nell'intestazione "Host" e nell'intestazione pseudo ":authority" sono state adeguate ai requisiti RFC 3986.
- L'indicazione di un singolo carattere di nuova riga come sequenza di chiusura nelle richieste chunked o nel corpo della risposta ora viene gestita come un errore.
- È stato risolto un crash durante l'uso di HTTP/3 con la libreria OpenSSL 3.5.1+.
- È stato risolto un crash del processo di lavoro quando venivano specificate contemporaneamente le direttive try_files e proxy_pass con URI.
Fonte: opennet.ru
