versione nginx 1.16.0

Dopo un anno di sviluppo представлена nuovo ramo stabile di server HTTP ad alte prestazioni e server proxy multiprotocollo nginx 1.16.0, che ha assorbito le modifiche accumulate all'interno del ramo principale 1.15.x. In futuro, tutte le modifiche al ramo stabile 1.16 saranno correlate all'eliminazione di bug e vulnerabilità gravi. Presto verrà formato il ramo principale di nginx 1.17, all'interno del quale continuerà lo sviluppo di nuove funzionalità. Per gli utenti ordinari che non hanno il compito di garantire la compatibilità con moduli di terze parti, raccomandato utilizzare il ramo principale, sulla base del quale si formano ogni tre mesi i rilasci del prodotto commerciale Nginx Plus.

I miglioramenti più notevoli aggiunti durante la formazione del ramo upstream 1.15.x sono:

  • Aggiunta la possibilità di utilizzare variabili nelle direttivessl_certificate' e 'ssl_certificate_key', che può essere utilizzato per caricare dinamicamente i certificati;
  • Aggiunta la possibilità di caricare certificati SSL e chiavi segrete da variabili senza utilizzare file intermedi;
  • Nel blocco"a monte» implementata la nuova direttiva «casuale“, con l'aiuto del quale è possibile organizzare il bilanciamento del carico con una selezione casuale di un server per l'inoltro della connessione;
  • Nel modulo ngx_stream_ssl_preread variabile implementata $ssl_preread_protocollo,
    che specifica la versione più alta del protocollo SSL/TLS supportata dal client. La variabile lo consente creare configurazioni per l'accesso utilizzando vari protocolli con e senza SSL attraverso una porta di rete durante l'inoltro del traffico utilizzando i moduli http e stream. Ad esempio, per organizzare l'accesso tramite SSH e HTTPS attraverso una porta, la porta 443 può essere inoltrata per impostazione predefinita a SSH, ma se è definita la versione SSL, inoltrata a HTTPS.

  • Una nuova variabile è stata aggiunta al modulo upstream "$upstream_bytes_inviati", che visualizza il numero di byte trasferiti al server del gruppo;
  • Al modulo ruscello all'interno di una sessione è stata aggiunta la possibilità di elaborare più datagrammi UDP in arrivo dal client;
  • La direttiva"richieste_proxy", specifica il numero di datagrammi ricevuti dal client, al raggiungimento del quale viene rimosso il legame tra il client e la sessione UDP esistente. Dopo aver ricevuto il numero specificato di datagrammi, il successivo datagramma ricevuto dallo stesso client inizia una nuova sessione;
  • La direttiva listen ora ha la capacità di specificare intervalli di porte;
  • Aggiunta direttiva "ssl_early_data» per abilitare la modalità 0-RTT quando si utilizza TLSv1.3, che consente di salvare i parametri di connessione TLS precedentemente negoziati e di ridurre il numero di RTT a 2 quando si riprende una connessione stabilita in precedenza;
  • Sono state aggiunte nuove direttive per configurare keepalive per le connessioni in uscita (abilitando o disabilitando l'opzione SO_KEEPALIVE per i socket):

    • «proxy_socket_keepalive" - configura il comportamento "TCP keepalive" per le connessioni in uscita verso il server proxy;
    • «fastcgi_socket_keepalive" - configura il comportamento "TCP keepalive" per le connessioni in uscita verso il server FastCGI;
    • «grpc_socket_keepalive" - configura il comportamento "TCP keepalive" per le connessioni in uscita al server gRPC;
    • «memcached_socket_keepalive" - configura il comportamento "TCP keepalive" per le connessioni in uscita al server memcached;
    • «scgi_socket_keepalive" - configura il comportamento "TCP keepalive" per le connessioni in uscita al server SCGI;
    • «uwsgi_socket_keepalive" - configura il comportamento "TCP keepalive" per le connessioni in uscita al server uwsgi.
  • Nella direttiva"limite_req" aggiunto un nuovo parametro “delay”, che fissa un limite oltre il quale vengono ritardate le richieste ridondanti;
  • Nuove direttive “keepalive_timeout” e “keepalive_requests” sono state aggiunte al blocco “upstream” per impostare i limiti per Keepalive;
  • La direttiva "ssl" è stata deprecata, sostituita dal parametro "ssl" nella direttiva "listen". I certificati SSL mancanti vengono ora rilevati nella fase di test della configurazione quando si utilizza la direttiva "ascolta" con il parametro "ssl" nelle impostazioni;
  • Quando si utilizza la direttiva reset_timedout_connection, le connessioni vengono ora chiuse con un codice 444 allo scadere del timeout;
  • Gli errori SSL "richiesta http", "richiesta proxy https", "protocollo non supportato" e "versione troppo bassa" ora vengono visualizzati nel log con il livello "info" anziché "crit";
  • Aggiunto supporto per il metodo poll sui sistemi Windows quando si utilizza Windows Vista e versioni successive;
  • Possibilità di utilizzo TLSv1.3 quando si compila con la libreria BoringSSL, non solo con OpenSSL.

Fonte: opennet.ru

Aggiungi un commento