Nginx 1.26.0 faʻamalolo ma HTTP / 3 lagolago

A maeʻa le tausaga o le atinaʻe, ua faʻasalalau se lala fou o le HTTP server maualuga ma le tele-protocol proxy server nginx 1.26.0, lea e aofia ai suiga faʻaputuina i le lala autu 1.25.x. I le lumanaʻi, o suiga uma i le lala mautu 1.26 o le a fesoʻotaʻi ma le faʻaumatiaina o mea sese matuia ma faʻafitauli. E le o toe mamao ae fausia le lala autu o le nginx 1.27, lea o le a faʻaauau ai le atinaʻeina o foliga fou. Mo tagata masani e leai se galuega o le faʻamautinoaina o fesoʻotaʻiga ma vaega lona tolu, e fautuaina e faʻaaoga le lala autu, i luga o le faʻavae o faʻasalalauga o le oloa faʻapisinisi Nginx Plus e faia i le tolu masina.

E tusa ai ma se lipoti o Mati mai Netcraft, e tusa ma le 243 miliona upega tafaʻilagi o loʻo faʻatautaia Nginx (289 miliona i le tausaga talu ai). Nginx o loʻo faʻaaogaina i luga o le 18.15% o nofoaga uma o loʻo galue (i le tausaga talu ai 18.94%, lua tausaga talu ai 20.08%), lea e fetaui ma le nofoaga lona lua i le lauiloa i lenei vaega (O le vaega a Apache e fetaui ma le 20.09% (i le tausaga talu ai 20.52, lua tausaga). ua mavae 22.58%), Cloudflare - 14.12% (11.32%, 10.42%), Google - 10.41% (9.89%, 8.89%) I le taimi lava e tasi, pe a mafaufau i nofoaga uma, o le nginx o loʻo tumau pea lona taʻitaʻiga ma nofo i le 22.31% o le maketi. (i le tausaga talu ai 25.94%, lua tausaga talu ai - 31.13%), a'o le vaega a Apache e fetaui ma le 20.17% (20.58, 23.08%), Cloudflare - 11.24% (10.17, 5.49%), OpenResty (nginx ma LuaJIT faʻavae faʻavae) - 7.93 % (7.94%, 8.01%).

Faatasi ai ma le miliona o nofoaga sili ona asiasi i ai i le lalolagi, o le vaega o le nginx o le 20.63% (i le tausaga talu ai 21.37%, lua tausaga talu ai 21.79%), Cloudflare - 22.59% (le tausaga talu ai 21.62%), Apache httpd - 20.09% (21.18). %). E tusa ai ma le W3Techs, o le nginx o loʻo faʻaaogaina i luga o le 34.3% o nofoaga sili ona asiasi i ai miliona, ia Aperila i le tausaga talu ai o lenei fuainumera e 34.5%, o le tausaga na muamua atu - 33.1%. O le sea a Apache na pa'ū i le tausaga mai le 32.2% i le %30.1, ma le Microsoft IIS na pa'ū mai le 5.6% i le 4.8%. O le vaega a Node.js na siitia mai le 2.4% i le 3.2%, ma le LiteSpeed's share mai le 11.8% i le 12.9%.

O faʻaleleia sili ona lauiloa na faʻaopoopoina i le taimi o le atinaʻeina o le 1.25.x lala i luga:

  • Faʻaopoopo le module ngx_http_v3 faʻatasi ai ma le faʻataʻitaʻiga lagolago mo le HTTP/3 protocol. Ina ia fausia le module, ua saunia le "--with-http_v3_module" filifiliga. HTTP/3 fa'amatala le fa'aogaina ole QUIC (Quick UDP Internet Connections) e fai ma felauaiga mo HTTP/2. QUIC o se faʻaopoopoga o le UDP protocol e lagolagoina le telexing o le tele o fesoʻotaʻiga ma tuʻuina atu auala faʻailoga e tutusa ma TLS/SSL. O le protocol na faia i le 2013 e Google e fai ma sui i le TCP + TLS tuʻufaʻatasia mo le Upega, foia faʻafitauli i le umi o fesoʻotaʻiga seti ma taimi o feutagaiga i le TCP ma faʻaumatia faʻatuai pe a leiloa paʻu i le taimi o faʻamatalaga.
  • Ua fa'aopoopoina se fa'atonuga 'ese'ese "http2" mo le fa'aagaagaina o le HTTP/2 protocol i feso'ota'iga ma 'au'aunaga (e mafai ona fa'aoga i poloka "server" eseese). O le "http2" parakalafa i le "faalogo" faatonuga ua le toe faaaogaina.
  • Puipuiga mai gaioiga le masani a HTTP / 2 tagata faʻatau ua faʻamalosia, ma, aemaise lava, faasaga i osofaʻiga a le DoS o le vasega "Rapid Reset", lea o loʻo faia ai se numera tele o filo toe setiina vave i totonu o se tasi HTTP / 2 fesoʻotaʻiga. I le faʻatulagaina faʻaletonu, o ia osofaʻiga e faʻatapulaʻaina i le faʻatapulaʻaina o le numera o talosaga i le fesoʻotaʻiga "keepalive_requests" (pe a uma 1000 talosaga o le a toe setiina le fesoʻotaʻiga) ma faʻatapulaʻaina "limit_req". Ina ia tali muamua atu i lologa ma talosaga e ala i le tele o filo, ua faaopoopo se tapulaʻa faaopoopo e le mafai ai ona fausia le sili atu i le 256 (2 * max_concurrent_streams) filo fou i le taamilosaga o gaioiga e ala i le faaletonu. O le tapula'a fou e mafai ai ona amata poloka talosaga a'o le'i o'o i le fa'atapula'a atoa o le aofa'i o filo fa'atasi, mo se fa'ata'ita'iga pe a fa'agasolo filo pe fa'amulumulu.
  • Lagolago mo sapalai virtual ua faaopoopo i le stream module, o le faatulagaga o loʻo faʻamatalaina i le poloka "server { ... }" e faʻaaoga ai le server_name directive. server { server_name ~^(www\.)?(.+)$; sui_pasi www.$2:12345; }
  • O se module fou ngx_stream_pass_module ua faʻaopoopoina, ua mamanuina e tuʻuina saʻo fesoʻotaʻiga maua i soʻo se faʻalogo faʻalogo e fesoʻotaʻi ma modules e pei o le http, vaitafe ma meli. stream {server {faalogo 12345 ssl; ssl_certificate domain.crt; ssl_certificate_key domain.key; pasi 127.0.0.1:8000; }}
  • O le faʻatonuga faʻalogo o le stream module e faʻaaogaina ai le lagolago mo le "faʻatuai" (faʻatagaina le talia), "accept_filter" (faʻapipiʻi fesoʻotaʻiga o loʻo faʻaaogaina aʻo leʻi valaʻau i le galuega talia) ma le "setfib" (faʻatulagaina o le laulau faʻataʻitaʻiga).
  • Mo nisi fausaga, ua faʻatinoina le lagolago mo le fuafuaina o le poloka poloka (laina faʻaoga) faʻaaogaina e faʻafeiloaʻi ai faʻamatalaga i le va o le CPU ma le manatua.
  • Faʻaleleia atili le puleaina o paʻu faʻaaogaina pe a otometi ona iloa fesoʻotaʻiga HTTP/2.
  • O le faʻatinoga o le faʻalauiloaina o faʻasalalauga ma le tele o faʻatonuga "nofoaga" ua faʻaleleia.
  • Lagolago mo Server push technology i HTTP/2 ua aveese.
  • O le fa'atonuga "ssl", ua le toe fa'aaogaina, ua fa'agata.

O le tuʻuina atu o le FreeNginx 1.26.0 poloketi, lea e atiaʻe ai se tui o Nginx, na lomia i le lua vaiaso talu ai. O le tui o loʻo atiaʻe e Maxim Dunin, o se tasi o tagata autu Nginx atiaʻe. FreeNginx o loʻo faʻatulagaina o se poloketi e leai ni tupe mama e maua ai le atinaʻeina o le Nginx code base e aunoa ma se faʻalavelave faʻapitoa.

puna: opennet.ru

Faaopoopo i ai se faamatalaga