versione nginx 1.20.0

Dopu un annu di sviluppu, hè statu introduttu un novu ramu stabile di u servitore HTTP d'altu rendiment è u servitore proxy multi-protoculu nginx 1.20.0, chì incorpora i cambiamenti accumulati in u ramu principale 1.19.x. In u futuru, tutti i cambiamenti in u ramu stabile 1.20 seranu ligati à l'eliminazione di errori serii è vulnerabili. Prestu serà furmatu u ramu principalu di nginx 1.21, in quale u sviluppu di novi funziunalità continuarà. Per l'utilizatori ordinariu chì ùn anu micca u compitu di assicurà a cumpatibilità cù i moduli di terzu, hè cunsigliatu di utilizà u ramu principale, nantu à a basa di quale e versioni di u pruduttu cummerciale Nginx Plus sò furmati ogni trè mesi.

Sicondu un rapportu di marzu da Netcraft, nginx hè utilizatu nantu à 20.15% di tutti i siti attivi (un annu fà 19.56%, dui anni fà 20.73%), chì currisponde à u sicondu postu in pupularità in questa categuria (a parte di Apache currisponde à 25.38%). (un annu fà 27.64%), Google - 10.09%, Cloudflare - 8.51%. À u listessu tempu, quandu si cunsidereghja tutti i siti, nginx conserva a so dirigenza è occupa 35.34% di u mercatu (un annu fà 36.91%, dui anni fà - 27.52%), mentri a parte di Apache currisponde à 25.98%, OpenResty (piattaforma basatu in nginx è LuaJIT.) - 6.55%, Microsoft IIS - 5.96%.

Trà i milioni di siti più visitati in u mondu, a parte di nginx hè 25.55% (un annu fà 25.54%, dui anni fà 26.22%). Attualmente, circa 419 milioni di siti web funzionanu Nginx (459 milioni un annu fà). Sicondu W3Techs, nginx hè utilizatu nantu à 33.7% di i siti fora di u milione più visitatu, in l'aprili di l'annu passatu sta figura era 31.9%, l'annu prima - 41.8% (a calata hè spiegata da a transizione à a cuntabilità separata di u Cloudflare http servitore). A parte di Apache hè cascata annantu à l'annu da 39.5% à 34%, è a parte di Microsoft IIS da 8.3% à 7%. A parte di LiteSpeed ​​hè cresciutu da 6.3% à 8.4%, è Node.js da 0.8% à 1.2%. In Russia, nginx hè utilizatu nantu à 79.1% di i siti più visitati (un annu fà - 78.9%).

I megliurenze più notevuli aghjuntu durante u sviluppu di a filiera upstream 1.19.x:

  • Aggiunta a capacità di verificà i certificati di u cliente utilizendu servizii esterni basati nantu à u protocolu OCSP (Protocolu di Status di Certificatu Online). Per attivà a verificazione, a direttiva ssl_ocsp hè pruposta, per cunfigurà a dimensione di cache - ssl_ocsp_cache, per redefinisce l'URL di u gestore OCSP specificatu in u certificatu - ssl_ocsp_responder.
  • U modulu ngx_stream_set_module hè inclusu, chì permette di assignà un valore à u servitore variabile { listen 12345; stabilisce $true 1; }
  • Aggiunta a direttiva proxy_cookie_flags per specificà i bandieri per i Cookie in cunnessione proxy. Per esempiu, per aghjunghje a bandiera "httponly" à Cookie "one", è i bandieri "nosecure" è "samesite=strict" per tutti l'altri Cookies, pudete aduprà a seguente custruzzione: proxy_cookie_flags one httponly; proxy_cookie_flags ~ nosecure samesite = strettu;

    Una direttiva userid_flags simile per aghjunghje bandiere à i Cookies hè ancu implementata per u modulu ngx_http_userid.

  • Aghjunghjite direttive "ssl_conf_command", "proxy_ssl_conf_command", "grpc_ssl_conf_command" è "uwsgi_ssl_conf_command", cù quale pudete stabilisce parametri arbitrarii per cunfigurà OpenSSL. Per esempiu, per prioritizà i cifri ChaCha è a cunfigurazione avanzata di cifri TLSv1.3, pudete specificà ssl_conf_command Opzioni PrioritizeChaCha; ssl_conf_command Ciphersuites TLS_CHACHA20_POLY1305_SHA256;
  • Aggiunta "ssl_reject_handshake" direttiva, chì urdineghja à ricusà tutti i tentativi di negozià e cunnessione SSL (per esempiu, pò esse usatu per rifiutà tutte e chjamate cù nomi d'ospiti scunnisciuti in u campu SNI). server {ascolta 443 ssl; ssl_reject_handshake on; } servore {ascolta 443 ssl; server_name example.com; ssl_certificate example.com.crt; ssl_certificate_key example.com.key; }
  • A direttiva proxy_smtp_auth hè stata aghjunta à u proxy di mail, chì vi permette di autentificà l'utilizatore nantu à u backend utilizendu u cumandamentu AUTH è u mecanismu PLAIN SASL.
  • Aghjunghjia a direttiva "keepalive_time", chì limita a vita tutale di ogni cunnessione mantene a vita, dopu chì a cunnessione serà chjusa (da ùn esse cunfundita cù keepalive_timeout, chì definisce u tempu d'inattività dopu chì a cunnessione mantene a vita hè chjusa).
  • Added $connection_time variabile, attraversu quale pudete uttene infurmazione nantu à a durata di a cunnessione in seconde cù precisione millisecondi.
  • Un paràmetru "min_free" hè statu aghjuntu à e direttive "proxy_cache_path", "fastcgi_cache_path", "scgi_cache_path" è "uwsgi_cache_path", chì regula a dimensione di cache basatu nantu à a determinazione di a dimensione minima di u spaziu di discu liberu.
  • I direttivi "lingering_close", "lingering_time" è "lingering_timeout" sò stati adattati per travaglià cù HTTP/2.
  • 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.
  • Aggiunta una nova opzione di linea di cumanda "-e", chì permette di specificà un schedariu alternativu per scrive u logu di l'errore, chì serà utilizatu invece di u logu specificatu in i paràmetri. Invece di u nome di u schedariu, pudete specificà u valore speciale stderr.

Source: opennet.ru

Add a comment