nginx 1.20.0 rhyddhau

Ar ôl blwyddyn o ddatblygiad, mae cangen sefydlog newydd o'r gweinydd HTTP perfformiad uchel a gweinydd dirprwy aml-brotocol nginx 1.20.0 wedi'i gyflwyno, sy'n ymgorffori'r newidiadau a gronnwyd yn y brif gangen 1.19.x. Yn y dyfodol, bydd yr holl newidiadau yn y gangen sefydlog 1.20 yn gysylltiedig â dileu gwallau a gwendidau difrifol. Yn fuan bydd prif gangen nginx 1.21 yn cael ei ffurfio, lle bydd datblygiad nodweddion newydd yn parhau. Ar gyfer defnyddwyr cyffredin nad oes ganddynt y dasg o sicrhau cydnawsedd â modiwlau trydydd parti, argymhellir defnyddio'r brif gangen, y mae datganiadau o'r cynnyrch masnachol Nginx Plus yn cael eu ffurfio bob tri mis ar y sail honno.

Yn ôl adroddiad gan Netcraft ym mis Mawrth, mae nginx yn cael ei ddefnyddio ar 20.15% o'r holl safleoedd gweithredol (blwyddyn yn ôl 19.56%, dwy flynedd yn ôl 20.73%), sy'n cyfateb i'r ail le mewn poblogrwydd yn y categori hwn (mae cyfran Apache yn cyfateb i 25.38% (blwyddyn yn ôl 27.64%), Google - 10.09%, Cloudflare - 8.51% Ar yr un pryd, wrth ystyried pob safle, mae nginx yn cadw ei arweinyddiaeth ac yn meddiannu 35.34% o'r farchnad (blwyddyn yn ôl 36.91%, dwy flynedd yn ôl - 27.52%), tra bod cyfran Apache yn cyfateb i 25.98%, OpenResty (llwyfan yn seiliedig ar nginx a LuaJIT.) - 6.55%, Microsoft IIS - 5.96%.

Ymhlith y miliwn o safleoedd yr ymwelwyd â hwy fwyaf yn y byd, cyfran nginx yw 25.55% (25.54% flwyddyn yn ôl, dwy flynedd yn ôl 26.22%). Ar hyn o bryd, mae tua 419 miliwn o wefannau yn rhedeg Nginx (459 miliwn flwyddyn yn ôl). Yn ôl W3Techs, mae nginx yn cael ei ddefnyddio ar 33.7% o safleoedd allan o'r miliwn yr ymwelwyd â hwy fwyaf, ym mis Ebrill y llynedd roedd y ffigur hwn yn 31.9%, y flwyddyn flaenorol - 41.8% (eglurir y dirywiad gan y newid i gyfrifo ar wahân y Cloudflare http gweinydd). Gostyngodd cyfran Apache dros y flwyddyn o 39.5% i 34%, a chyfran Microsoft IIS o 8.3% i 7%. Tyfodd cyfran LiteSpeed ​​​​o 6.3% i 8.4%, a Node.js o 0.8% i 1.2%. Yn Rwsia, mae nginx yn cael ei ddefnyddio ar 79.1% o'r safleoedd yr ymwelwyd â nhw fwyaf (flwyddyn yn ôl - 78.9%).

Y gwelliannau mwyaf nodedig a ychwanegwyd yn ystod datblygiad y brif gangen 1.19.x:

  • Ychwanegwyd y gallu i ddilysu tystysgrifau cleientiaid gan ddefnyddio gwasanaethau allanol yn seiliedig ar brotocol OCSP (Protocol Statws Tystysgrif Ar-lein). Er mwyn galluogi'r siec, cynigir y gyfarwyddeb ssl_ocsp, i ffurfweddu maint y storfa - ssl_ocsp_cache, i ailddiffinio URL y triniwr OCSP a nodir yn y dystysgrif - ssl_ocsp_responder.
  • Mae'r modiwl ngx_stream_set_module wedi'i gynnwys, sy'n eich galluogi i aseinio gwerth i'r gweinydd newidyn { listen 12345; gosod $ true 1; }
  • Ychwanegwyd cyfarwyddeb proxy_cookie_flags i nodi baneri ar gyfer Cwcis mewn cysylltiadau dirprwyol. Er enghraifft, i ychwanegu'r faner “httponly” at Cookie “one”, a'r baneri “nosecure” a “samesite=strict” ar gyfer pob Cwci arall, gallwch ddefnyddio'r lluniad canlynol: proxy_cookie_flags one httponly; proxy_cookie_flags ~ nosecure samesite= caeth;

    Mae cyfarwyddeb tebyg userid_flags ar gyfer ychwanegu baneri at Cwcis hefyd yn cael ei gweithredu ar gyfer y modiwl ngx_http_userid.

  • Ychwanegwyd cyfarwyddebau “ssl_conf_command”, “proxy_ssl_conf_command”, “grpc_ssl_conf_command” ac “uwsgi_ssl_conf_command”, y gallwch chi osod paramedrau mympwyol ar gyfer ffurfweddu OpenSSL gyda nhw. Er enghraifft, i flaenoriaethu seiffrau ChaCha a chyfluniad uwch o seiffrau TLSv1.3, gallwch nodi ssl_conf_command Options PrioritizeChaCha; ssl_conf_command Ciphersuites TLS_CHACHA20_POLY1305_SHA256;
  • Ychwanegwyd cyfarwyddeb "ssl_reject_handshake", sy'n cyfarwyddo i wrthod pob ymgais i drafod cysylltiadau SSL (er enghraifft, gellir ei ddefnyddio i wrthod pob galwad ag enwau gwesteiwr anhysbys yn y maes SNI). gweinydd { gwrandewch 443 ssl; ssl_reject_handshake ymlaen; } gweinydd { gwrandewch 443 ssl; gweinydd_name enghraifft.com; ssl_certificate enghraifft.com.crt; ssl_certificate_key enghraifft.com.key; }
  • Mae'r gyfarwyddeb proxy_smtp_auth wedi'i ychwanegu at y dirprwy post, sy'n eich galluogi i ddilysu'r defnyddiwr ar y pen ôl gan ddefnyddio'r gorchymyn AUTH a'r mecanwaith PLAIN SASL.
  • Ychwanegwyd y gyfarwyddeb "keepalive_time", sy'n cyfyngu ar gyfanswm oes pob cysylltiad cadw'n fyw, ac ar ôl hynny bydd y cysylltiad yn cael ei gau (na ddylid ei gymysgu â keepalive_timeout, sy'n diffinio'r amser anweithgarwch pan fydd y cysylltiad cadw'n fyw ar gau).
  • Ychwanegwyd newidyn $connection_time, lle gallwch gael gwybodaeth am hyd y cysylltiad mewn eiliadau gyda thrachywiredd milieiliadau.
  • Mae paramedr “min_free” wedi'i ychwanegu at y cyfarwyddebau “proxy_cache_path”, “fastcgi_cache_path”, “scgi_cache_path” ac “uwsgi_cache_path”, sy'n rheoleiddio maint y storfa yn seiliedig ar bennu maint lleiaf y gofod disg rhad ac am ddim.
  • Mae'r cyfarwyddebau "lingering_close", "lingering_time" a "lingering_timeout" wedi'u haddasu i weithio gyda HTTP/2.
  • Mae'r cod prosesu cysylltiad yn HTTP/2 yn agos at weithrediad HTTP/1.x. Mae cefnogaeth ar gyfer y gosodiadau unigol "http2_recv_timeout", "http2_idle_timeout" a "http2_max_requests" wedi'i derfynu o blaid y cyfarwyddebau cyffredinol "keepalive_timeout" a "keepalive_requests". Mae'r gosodiadau "http2_max_field_size" a "http2_max_header_size" wedi'u tynnu a dylid defnyddio "large_client_header_buffers" yn lle hynny.
  • Ychwanegwyd opsiwn llinell orchymyn newydd “-e”, sy'n eich galluogi i nodi ffeil arall ar gyfer ysgrifennu'r log gwall, a ddefnyddir yn lle'r log a nodir yn y gosodiadau. Yn lle enw'r ffeil, gallwch chi nodi'r gwerth arbennig stderr.

Ffynhonnell: opennet.ru

Ychwanegu sylw