Rilascio di nginx 1.18.0

Dopo un anno di sviluppo è stata presentata nuova branch stabile del server HTTP ad alte prestazioni e del proxy multi-protocollo nginx 1.18.0, che ha raccolto le modifiche accumulate nella branch principale 1.17.x. In seguito, tutte le modifiche nella branch stabile 1.18 saranno legate alla risoluzione di gravi bug e vulnerabilità. A breve sarà formata la branch principale nginx 1.19, in cui continueranno a svilupparsi nuove funzionalità. Per gli utenti comuni, che non hanno l'esigenza di garantire compatibilità con moduli di terze parti, si raccomanda è consigliabile utilizzare la branch principale, sulla quale ogni tre mesi vengono rilasciate nuove versioni del prodotto commerciale Nginx Plus.

Secondo il rapporto di aprile di Netcraft, nginx è utilizzato nel 19,56% di tutti i siti attivi (un anno fa era il 20,73%, due anni fa il 21,02%), che corrisponde al secondo posto per popolarità in questa categoria (la quota di Apache è del 27,64%, Google - 10,03%, Microsoft IIS - 4,77%). Tuttavia, considerando tutti i siti, nginx mantiene la leadership con il 36,91% del mercato (rispetto al 27,52% di un anno fa), mentre la quota di Apache è del 24,73%, Microsoft IIS del 12,85%, e Google del 3,42%.

Tra i milioni di siti web più visitati al mondo, nginx detiene una quota del 25,54% (un anno fa era del 26,22%, due anni fa del 23,76%). Attualmente, circa 459 milioni di siti sono gestiti da nginx (un anno fa erano 397 milioni). Per i dati W3Techs, nginx è utilizzato nel 31,9% dei siti dei milioni più visitati; ad aprile dello scorso anno, questa cifra era del 41,8%, e due anni fa del 38% (il calo è spiegato dal passaggio a un conteggio separato del server http di Cloudflare). La quota di Apache è scesa dal 43,6% al 38,9% in un anno, mentre quella di Microsoft IIS è scesa dall'8,6% all'8,3%. In Russia, nginx viene utilizzato ha una presenza nel 78,9% dei siti più visitati (un anno fa era dell'81%).

I miglioramenti più significativi aggiunti nel processo di sviluppo della versione principale 1.17.x:

  • È stata aggiunta la direttiva limit_req_dry_run, che attiva la modalità di prova in cui non vengono applicati i limiti sulla frequenza delle richieste (senza rate limit), ma continua a registrare il numero di richieste che superano i limiti nella memoria condivisa;
  • È stata aggiunta la direttiva limit_conn_dry_run, che porta il modulo ngx_http_limit_conn_module in modalità di prova, in cui il numero di connessioni non è limitato, ma viene registrato;
  • É stata aggiunta la direttiva "auth_delay", che consente di introdurre un ritardo per le richieste non autorizzate con codice di risposta 401 per ridurre l'intensità dei tentativi di accesso indesiderati e proteggere da attacchi, che manipolano la misurazione del tempo di esecuzione delle operazioni (timing attack) quando si accede a sistemi protetti da password, con il risultato di una sottoquery o JWT (JSON Web Token);
  • È stata aggiunta la supporto per le variabili nelle direttive «limit_rate» e «limit_rate_after», così come nelle direttive «proxy_upload_rate» e «proxy_download_rate» del modulo stream;
  • Nella direttiva grpc_pass è stato aggiunto il supporto per l'uso della variabile nel parametro che definisce l'indirizzo. Se l'indirizzo è specificato come nome di dominio, il nome viene cercato tra i gruppi di server descritti, e se non viene trovato, viene determinato tramite il resolver;
  • Sono state aggiunte nuove variabili $proxy_protocol_server_addr e $proxy_protocol_server_port, che contengono l'indirizzo e la porta del server, ottenuti dall'intestazione del protocollo PROXY;
  • Nel modulo ngx_stream_limit_conn_module è stata aggiunta la variabile $limit_conn_status, che memorizza il risultato della limitazione del numero di connessioni: PASSED, REJECTED o REJECTED_DRY_RUN;
  • Nel modulo ngx_http_limit_req_module è stata aggiunta la variabile $limit_req_status, che memorizza il risultato della limitazione della velocità di richiesta: PASSED, DELAYED, REJECTED, DELAYED_DRY_RUN o REJECTED_DRY_RUN;
  • Per impostazione predefinita, è garantita la compilazione del modulo ngx_http_postpone_filter_module;
  • È stata aggiunta la supporto per la commutazione dei blocchi nominati «location» tramite il metodo $r->internal_redirect(), fornito dall'interprete Perl integrato. Questo metodo ora gestisce URI con caratteri escape;
  • Utilizzando nel blocco di configurazione «upstream» la direttiva «hash» per realizzare il bilanciamento del carico legato al client, se viene specificato un valore vuoto per la chiave, ora viene attivata la modalità di bilanciamento uniforme (round-robin);
  • È stata aggiunta la possibilità di richiamare ioctl(FIONREAD), se disponibile, per evitare la lettura da una connessione veloce per lungo tempo.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster