nginx 1.18.0 መለቀቅ

ከአንድ አመት እድገት በኋላ የተወከለው በ ከፍተኛ አፈጻጸም ያለው HTTP አገልጋይ እና ባለብዙ ፕሮቶኮል ተኪ አገልጋይ አዲስ የተረጋጋ ቅርንጫፍ ሲንክስ 1.18.0በዋናው ቅርንጫፍ ውስጥ የተጠራቀሙ ለውጦችን የወሰደ 1.17.x. ለወደፊቱ, በተረጋጋው ቅርንጫፍ 1.18 ላይ የተደረጉ ለውጦች ሁሉ ከባድ ስህተቶችን እና ድክመቶችን ከማስወገድ ጋር የተያያዙ ናቸው. የ nginx 1.19 ዋናው ቅርንጫፍ በቅርቡ ይመሰረታል, በውስጡም የአዳዲስ ባህሪያት እድገት ይቀጥላል. ከሶስተኛ ወገን ሞጁሎች ጋር ተኳሃኝነትን የማረጋገጥ ተግባር ለሌላቸው ተራ ተጠቃሚዎች፣ ይመከራል ፡፡ በየሶስት ወሩ የ Nginx Plus የንግድ ምርት የሚለቀቀውን መሠረት በማድረግ ዋናውን ቅርንጫፍ ይጠቀሙ።

እንደ የኤፕሪል ዘገባ Netcraft nginx በሁሉም ንቁ ጣቢያዎች 19.56% ላይ ጥቅም ላይ ይውላል (ከአንድ ዓመት በፊት 20.73% ፣ ከሁለት ዓመት በፊት 21.02%) ፣ በዚህ ምድብ ውስጥ ካለው ተወዳጅነት ሁለተኛ ቦታ ጋር ይዛመዳል (የ Apache ድርሻ ከ 27.64% ፣ Google - 10.03% ፣ ማይክሮሶፍት) ጋር ይዛመዳል። አይአይኤስ - 4.77%) በተመሳሳይ ጊዜ ሁሉንም ጣቢያዎች ግምት ውስጥ በማስገባት nginx መሪነቱን ይይዛል እና የገበያውን 36.91% (ከአንድ አመት በፊት 27.52%) ይይዛል, የ Apache ድርሻ ከ 24.73%, Microsoft IIS - 12.85%, Google - 3.42% ጋር ይዛመዳል.

በዓለም ላይ በጣም ከሚጎበኙት በሚሊዮን የሚቆጠሩ ጣቢያዎች መካከል፣ የ nginx ድርሻ 25.54% (ከአንድ ዓመት በፊት 26.22%፣ ከሁለት ዓመት በፊት 23.76%) ነው። በአሁኑ ጊዜ፣ ወደ 459 ሚሊዮን የሚጠጉ ድረ-ገጾች Nginx (ከዓመት በፊት 397 ሚሊዮን) እያሄዱ ነው። በ የተሰጠው W3Techs nginx በጣም ከሚጎበኟቸው ሚሊዮን ውስጥ በ 31.9% ጣቢያዎች ላይ ጥቅም ላይ ይውላል ፣ ባለፈው ዓመት ሚያዝያ ውስጥ ይህ አኃዝ 41.8% ነበር ፣ ከዓመት በፊት - 38% (ውድቀቱ የ Cloudflare http አገልጋይ መለያ ወደ መለያ ሽግግር ተብራርቷል)። የ Apache ድርሻ በዓመቱ ከ 43.6% ወደ 38.9% እና Microsoft IIS ድርሻ ከ 8.6% ወደ 8.3% ቀንሷል. በሩሲያ nginx ጥቅም ላይ ውሏል። በ 78.9% በጣም ከተጎበኙ ጣቢያዎች (ከአንድ አመት በፊት - 81%).

በ1.17.x የላይኛው ተፋሰስ ቅርንጫፍ ልማት ወቅት የታከሉ በጣም የታወቁ ማሻሻያዎች፡-

  • መመሪያ ታክሏል። ገደብ_ሬክ_ደረቅ_ሩስ, የሙከራ አሂድ ሁነታን የሚያንቀሳቅሰው, በጥያቄው ሂደት ጥንካሬ ላይ ምንም ገደቦች የማይተገበሩበት (ያለ ታሪፍ ገደብ), ነገር ግን በጋራ ማህደረ ትውስታ ውስጥ ከገደብ በላይ የሆኑትን የጥያቄዎች ብዛት ግምት ውስጥ ማስገባት;
  • መመሪያ ታክሏል። ወሰን_ኮን_ደረቅ_ሩየ ngx_http_limit_conn_module ሞጁሉን ወደ የሙከራ አሂድ ሁነታ የሚቀይረው፣ የግንኙነቶች ብዛት ያልተገደበ ነገር ግን ግምት ውስጥ ይገባል፣
  • መመሪያ ታክሏል"auth_ መዘግየት"፣ ይህም የይለፍ ቃልን የመገመት ጥንካሬን ለመቀነስ እና ላልተፈቀዱ ጥያቄዎች 401 የምላሽ ኮድ በመያዝ መዘግየትን ለመጨመር ያስችላል። ጥቃቶችተደራሽነቱ የተገደበባቸው ስርዓቶችን ሲደርሱ የአፈፃፀም ጊዜን (የጊዜ ጥቃትን) መለኪያን ማዛመድ ፕስወርድ, የንዑስ መጠይቅ ውጤት ወይም ጄደብሊውቲ (JSON Web Token);
  • በ"limit_rate" እና "limit_rate_after" መመሪያዎች፣ እንዲሁም በዥረት ሞጁል "proxy_upload_rate" እና "proxy_download_rate" መመሪያዎች ውስጥ ለተለዋዋጮች ድጋፍ ታክሏል፤
  • በመመሪያው ውስጥ grpc_pass አድራሻን በሚገልጽ ግቤት ውስጥ ተለዋዋጭ ለመጠቀም ተጨማሪ ድጋፍ። አድራሻው እንደ ጎራ ስም ከተገለጸ, ስሙ በተገለጹት የአገልጋዮች ቡድኖች መካከል ይፈለጋል, እና ካልተገኘ, መፍትሄውን በመጠቀም ይወሰናል;
  • አዲስ ተለዋዋጮች ታክለዋል። $proxy_protocol_server_adr и $proxy_protocol_server_portከPROXY ፕሮቶኮል ራስጌ የተገኘውን የአገልጋይ አድራሻ እና ወደብ የያዘ;
  • በሞጁሉ ውስጥ ngx_ዥረት_limit_conn_module ተለዋዋጭ ታክሏል $limit_conn_ሁኔታየግንኙነቶች ብዛት መገደብ ውጤቱን የሚያከማች፡ አልፏል፣ ውድቅ የተደረገ ወይም REJECTED_DRY_RUN;
  • በሞጁሉ ውስጥ ngx_http_limit_req_module ተለዋዋጭ ታክሏል $limit_req_statusየጥያቄዎችን የመድረሻ መጠን የሚገድበው ውጤት የሚያከማች፡ አልፏል፣ ዘግይቷል፣ ውድቅ የተደረገ፣ DELAYED_DRY_RUN ወይም REJECTED_DRY_RUN;
  • በነባሪ, ሞጁሉ ተሰብስቧል ngx_http_pone_filter_module;
  • አብሮ በተሰራው የፐርል አስተርጓሚ የቀረበውን የ$r->internal_redirect() ዘዴ በመጠቀም የ"location" ብሎኮችን ለመቀያየር ተጨማሪ ድጋፍ። ይህ ዘዴ አሁን ዩአርአይዎችን ከአመለጡ ቁምፊዎች ጋር ማቀናበርን ያካትታል;
  • በ "የላይኛው" ቅንጅቶች እገዳ ውስጥ "የላይኛው" መመሪያን ሲጠቀሙሃሽ» የጭነት ማመጣጠንን ከደንበኛ-አገልጋይ ማሰሪያ ጋር ለማደራጀት ፣ ባዶ ቁልፍ እሴት ከገለፁ ፣ ወጥ ማመጣጠን ሁነታ (ዙር-ሮቢን) አሁን ነቅቷል ።
  • በጊዜ ሂደት ፈጣን ግንኙነት እንዳይነበብ ለማድረግ ከተገኘ ለ ioctl(FIONREAD) ጥሪ ድጋፍ ታክሏል።

ምንጭ: opennet.ru

አስተያየት ያክሉ