Liberazione di nginx 1.19.7, njs 0.5.1 è NGINX Unit 1.22.0

U ramu principalu di nginx 1.19.7 hè statu liberatu, in u quale u sviluppu di novi funziunalità cuntinueghja (in u ramu stabile supportatu parallelu 1.18, solu i cambiamenti riguardanti l'eliminazione di l'errori gravi è i vulnerabili sò fatti).

I cambiamenti principali:

  • Quandu un prucessu di u travagliu finisci di cunnessione libere, nginx avà chjude micca solu e cunnessione keepalive, ma ancu e cunnessione chì aspettanu chì u socket si chjude ("persistente vicinu").
  • U codice di prucessu di cunnessione in HTTP/2 hè vicinu à l'implementazione HTTP/1.x. U supportu per i paràmetri individuali "http2_recv_timeout", "http2_idle_timeout" è "http2_max_requests" hè statu cessatu in favore di e direttive generale "keepalive_timeout" è "keepalive_requests".
  • I paràmetri "http2_max_field_size" è "http2_max_header_size" sò stati eliminati è "large_client_header_buffers" deve esse usatu invece.

À u listessu tempu, njs 0.5.1 hè stata liberata, un interprete JavaScript per u servitore web nginx. L'interprete njs implementa i normi ECMAScript è vi permette di espansione a capacità di nginx per processà e dumande utilizendu script in a cunfigurazione. I scripts ponu esse utilizati in un schedariu di cunfigurazione per definisce a logica avanzata per processà e dumande, generà una cunfigurazione, generà dinamicamente una risposta, mudificà una dumanda / risposta, o crea rapidamente stubs per risolve i prublemi in l'applicazioni web.

A nova versione aghjusta a direttiva "js_header_filter", chì permette di stabilisce una funzione JavaScript per filtrà è cambià intestazioni di risposta arbitraria: js_import foo.js; locu / { js_header_filter foo.filter; proxy_pass http://127.0.0.1:8081/; } foo.js: filtru di funzione (r) { var cookies = r.headersOut ['Set-Cookie']; var len = r.args.len ? Numeru (r.args.len) : 0; r.headersOut['Set-Cookie'] = cookies.filter(v=>v.length > len); } export default {filtru};

Hè aghjuntu ancu u metudu ngx.fetch(), chì implementa l'API Fetch, chì furnisce a funziunalità di u cliente HTTP. U metudu supporta l'elaborazione di l'opzioni di body, headers, buffer_size è max_response_body_size. L'ughjettu Response restituitu supporta arrayBuffer (), bodyUsed, json (), headers, ok, redirect, status, statusText, text (), tipu è metudi url, è l'oggettu Header supporta get (), getAll () è has () metudi. funzione fetch (r) { ngx.fetch ('http://nginx.org/') .then (risposta => reply.text ()) .then (body => r.return (200, corpu)) .catch (e => r.return(501, e.message)); }

Pudete ancu nutà a publicazione di u servitore di l'applicazioni NGINX Unit 1.22, chì offre una soluzione per eseguisce applicazioni web in diverse lingue di prugrammazione (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js è Java). L'unità NGINX pò eseguisce simultaneamente parechje applicazioni in diverse lingue di prugrammazione, i paràmetri di lanciamentu di quale ponu esse cambiati dinamicamente senza a necessità di edità i fugliali di cunfigurazione è riavvia. U codice hè scrittu in C è distribuitu sottu a licenza Apache 2.0.

A nova versione di NGINX Unit cuncintrau à migliurà a stabilità, espansione l'arnesi di teste è corregge i bug. In i pacchetti generati per Linux, l'utilizatori è u gruppu sottu quale NGINX Unit runs sò stati cambiati. Invece di nimu: nimu, i prucessi sò avà eseguiti sottu l'unità d'utilizatore individuale in l'unità di gruppu. Cumpatibilità assicurata cù l'API Stream di l'oggetti ServerRequest è ServerResponse da u modulu Node.js. L'opzione "path" per l'applicazioni Python permette di specificà parechje cartulari.

Source: opennet.ru

Add a comment