nginx 1.18.0 tso tawm

Tom qab ib xyoos ntawm kev loj hlob sawv cev los ntawm tshiab ruaj khov ceg ntawm high-performance HTTP server thiab multiprotocol proxy server nginx 1.18.0, uas absorbed cov kev hloov pauv nyob rau hauv lub ntsiab ceg 1.17.x. Nyob rau hauv lub neej yav tom ntej, tag nrho cov kev hloov nyob rau hauv lub ruaj khov ceg 1.18 yuav muaj feem xyuam rau kev tshem tawm ntawm qhov yuam kev loj thiab qhov tsis zoo. Lub ceg tseem ceeb ntawm nginx 1.19 yuav raug tsim sai sai, nyob rau hauv uas txoj kev loj hlob ntawm cov yam ntxwv tshiab yuav txuas ntxiv mus. Rau cov neeg siv zoo tib yam uas tsis muaj txoj haujlwm ua kom muaj kev sib raug zoo nrog cov neeg thib peb, pom zoo siv cov ceg tseem ceeb, raws li qhov kev tso tawm ntawm cov khoom lag luam Nginx Plus tau tsim txhua peb lub hlis.

Raws li April report Netcraft nginx yog siv rau ntawm 19.56% ntawm tag nrho cov chaw nquag (ib xyoos dhau los 20.73%, ob xyoos dhau los 21.02%), uas sib haum rau qhov chaw thib ob hauv kev muaj koob npe hauv pawg no (Apache's shares sib raug rau 27.64%, Google - 10.03%, Microsoft IIS - 4.77%). Nyob rau tib lub sijhawm, thaum xav txog txhua qhov chaw, nginx khaws nws cov thawj coj thiab tuav 36.91% ntawm kev ua lag luam (ib xyoos dhau los 27.52%), thaum feem ntawm Apache sib raug rau 24.73%, Microsoft IIS - 12.85%, Google - 3.42%.

Ntawm ntau lab qhov chaw uas tau mus xyuas hauv ntiaj teb no, nginx feem ntau yog 25.54% (ib xyoos dhau los 26.22%, ob xyoos dhau los 23.76%). Tam sim no, txog 459 lab lub vev xaib tau khiav Nginx (397 lab ib xyoos dhau los). Los ntawm muab W3Techs nginx yog siv rau ntawm 31.9% ntawm qhov chaw tawm ntawm ntau lab tus neeg tuaj xyuas, thaum lub Plaub Hlis xyoo tas los no daim duab no yog 41.8%, xyoo ua ntej - 38% (qhov kev poob qis yog piav qhia los ntawm kev hloov mus rau cais accounting ntawm Cloudflare http server). Apache txoj kev faib tawm poob rau xyoo los ntawm 43.6% mus rau 38.9%, thiab Microsoft IIS feem ntawm 8.6% mus rau 8.3%. Nyob rau hauv Russia nginx yog siv ntawm 78.9% ntawm qhov chaw mus xyuas tshaj plaws (ib xyoos dhau los - 81%).

Qhov tseem ceeb tshaj plaws kev txhim kho ntxiv thaum lub sij hawm kev loj hlob ntawm 1.17.x upstream ceg:

  • Cov lus qhia ntxiv txwv_req_dry_run, uas qhib rau kev sim khiav hom, uas tsis muaj kev txwv tsis pub siv rau kev siv ntawm kev thov kev ua haujlwm (tsis muaj tus nqi txwv), tab sis tseem coj mus rau hauv tus lej ntawm kev thov ntau tshaj qhov txwv hauv kev sib koom nco;
  • Cov lus qhia ntxiv txwv_conn_dry_run, uas hloov lub ngx_http_limit_conn_module module mus rau hauv kev sim khiav hom, nyob rau hauv uas tus naj npawb ntawm kev sib txuas tsis txwv, tab sis raug coj mus rau hauv tus account;
  • Ntxiv cov lus qhia "auth_delay", uas tso cai rau koj ntxiv qhov ncua sij hawm rau kev thov tsis raug tso cai nrog cov lus teb ntawm 401 kom txo qis kev siv tus password twv thiab tiv thaiv. kev tawm tsam, tswj kev ntsuas ntawm lub sijhawm ua haujlwm ntawm kev ua haujlwm (lub sijhawm nres) thaum nkag mus rau cov txheej txheem uas nkag mus tau txwv lo lus zais, qhov tshwm sim ntawm subquery los yog J.W.T. (JSON Web Token);
  • Ntxiv kev txhawb nqa rau cov hloov pauv hauv "limit_rate" thiab "limit_rate_after" cov lus qhia, nrog rau hauv "proxy_upload_rate" thiab "proxy_download_rate" cov lus qhia ntawm cov kwj module;
  • Hauv cov lus qhia grpc_pass ntxiv kev txhawb nqa rau kev siv qhov sib txawv hauv qhov parameter uas txhais qhov chaw nyob. Yog tias qhov chaw nyob tau teev tseg raws li lub npe sau npe, lub npe raug tshawb nrhiav ntawm cov pab pawg neeg siv tau piav qhia, thiab, yog tias tsis pom, ces txiav txim siab siv tus daws teeb meem;
  • Cov hloov pauv tshiab ntxiv $proxy_protocol_server_addr ΠΈ $proxy_protocol_server_port, uas muaj cov chaw nyob thiab chaw nres nkoj tau los ntawm PROXY raws tu qauv header;
  • Nyob rau hauv lub module ngx_stream_limit_conn_module sib txawv ntxiv $limit_conn_status, uas khaws cov txiaj ntsig ntawm kev txwv cov kev sib txuas: PASSED, REJECTED lossis REJECTED_DRY_RUN;
  • Nyob rau hauv lub module ngx_http_limit_req_module sib txawv ntxiv $limit_req_status, uas khaws cov txiaj ntsig ntawm kev txwv tus nqi tuaj txog ntawm kev thov: PASSED, DELAYED, REJECTED, DELAYED_DRY_RUN lossis REJECTED_DRY_RUN;
  • Los ntawm lub neej ntawd, lub module yog assembled ngx_http_postpone_filter_module;
  • Ntxiv kev txhawb nqa rau toggling lub npe "qhov chaw" thaiv siv $ r-> internal_redirect() txoj kev muab los ntawm tus neeg txhais lus Perl built-in. Txoj kev no tam sim no suav nrog kev ua URIs nrog cov cim khiav;
  • Thaum siv cov lus qhia "upstream" hauv qhov "upstream" nqis thaivhashΒ» txhawm rau txhim kho qhov sib npaug nrog cov neeg siv khoom-neeg rau zaub mov binding, yog tias koj teev tus nqi tseem ceeb, qhov sib npaug sib npaug (round-robin) tam sim no qhib;
  • Ntxiv kev txhawb nqa rau hu rau ioctl (FIONREAD) yog tias muaj kom tsis txhob nyeem ntawv los ntawm kev sib txuas nrawm dhau sijhawm.

Tau qhov twg los: opennet.ru

Ntxiv ib saib