nginx 1.20.0 መለቀቅ

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

ከኔትክራፍት የወጣው የማርች ዘገባ እንደሚያመለክተው፣ nginx በሁሉም ንቁ ጣቢያዎች 20.15% (ከአንድ አመት በፊት 19.56%፣ ከሁለት አመት በፊት 20.73%) ጥቅም ላይ ይውላል፣ ይህም በዚህ ምድብ ታዋቂነት ካለው ሁለተኛ ቦታ ጋር ይዛመዳል (Apache's share 25.38% ጋር ይዛመዳል)። (ከአንድ አመት በፊት 27.64%), Google - 10.09%, Cloudflare - 8.51% በተመሳሳይ ጊዜ, ሁሉንም ጣቢያዎች ግምት ውስጥ በማስገባት, nginx መሪነቱን ይይዛል እና የገበያውን 35.34% ይይዛል (ከአንድ አመት በፊት 36.91%, ከሁለት አመት በፊት - 27.52%), የ Apache ድርሻ 25.98%, OpenResty (በ nginx እና LuaJIT ላይ የተመሰረተ መድረክ) - 6.55%, Microsoft IIS - 5.96%.

በዓለም ላይ በጣም ከሚጎበኙት በሚሊዮን የሚቆጠሩ ጣቢያዎች መካከል፣ የ nginx ድርሻ 25.55% (ከአንድ አመት በፊት 25.54%፣ ከሁለት አመት በፊት 26.22%) ነው። በአሁኑ ጊዜ፣ ወደ 419 ሚሊዮን የሚጠጉ ድረ-ገጾች Nginx (ከዓመት 459 ሚሊዮን) እያሄዱ ነው። W3Techs መሠረት, nginx በጣም ከሚጎበኟቸው ሚሊዮን ውስጥ በ 33.7% ጣቢያዎች ላይ ጥቅም ላይ ይውላል, ባለፈው ዓመት ሚያዝያ ውስጥ ይህ አኃዝ 31.9% ነበር, ከዓመት በፊት - 41.8% (ማሽቆልቆሉ የተገለፀው የ Cloudflare ሒሳብን ለመለየት በሚደረግ ሽግግር ነው http). አገልጋይ)። የ Apache ድርሻ በዓመቱ ከ 39.5% ወደ 34% ቀንሷል ፣ እና የማይክሮሶፍት አይአይኤስ ድርሻ ከ 8.3% ወደ 7%። የLiteSpeed ​​ድርሻ ከ6.3% ወደ 8.4%፣ እና Node.js ከ 0.8% ወደ 1.2% አድጓል። በሩሲያ ውስጥ nginx በብዛት ከሚጎበኙ ጣቢያዎች 79.1% (ከአንድ ዓመት በፊት - 78.9%) ጥቅም ላይ ይውላል።

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

  • በኦ.ሲ.ኤስ.ፒ (የመስመር ላይ የምስክር ወረቀት ሁኔታ ፕሮቶኮል) ፕሮቶኮል መሰረት የውጭ አገልግሎቶችን በመጠቀም የደንበኛ የምስክር ወረቀቶችን የማረጋገጥ ችሎታ ታክሏል። ቼኩን ለማንቃት የssl_ocsp መመሪያው ቀርቧል፣ የመሸጎጫውን መጠን ለማዋቀር - ssl_ocsp_cache፣ በሰርቲፊኬቱ ላይ የተገለጸውን የ OCSP ተቆጣጣሪ URL እንደገና ለመወሰን - ssl_ocsp_responder።
  • የngx_stream_set_module ሞዱል ተካትቷል፣ ይህም ለተለዋዋጭ አገልጋይ እሴት ለመመደብ ያስችልዎታል {ማዳመጥ 12345; አዘጋጅ $ እውነት 1; }
  • በተኪ ግንኙነቶች ውስጥ ለኩኪዎች ባንዲራዎችን ለመለየት የተኪ_ኩኪ_ባንዲራ መመሪያ ታክሏል። ለምሳሌ የ"httponly" ባንዲራ ወደ ኩኪ "አንድ" እና "nosecure" እና "samesite=strict" ባንዲራዎች ለሁሉም ኩኪዎች ለመጨመር የሚከተለውን ግንባታ መጠቀም ይችላሉ፡ proxy_cookie_flags one httponly; proxy_cookie_flags ~ nosecure samesite=strict;

    ለ ngx_http_userid ሞጁል ተመሳሳይ የሆነ የተጠቃሚid_ባንዲራዎች ባንዲራዎችን ወደ ኩኪዎች ለመጨመር መመሪያ ተተግብሯል።

  • የታከሉ መመሪያዎች "ssl_conf_command", "proxy_ssl_conf_command", "grpc_ssl_conf_command" እና "uwsgi_ssl_conf_command", ይህም ጋር OpenSSL ለማዋቀር የዘፈቀደ መለኪያዎች ማዘጋጀት ይችላሉ. ለምሳሌ፣ ለቻቻ ሲፈርስ ቅድሚያ ለመስጠት እና የላቀ የTLSv1.3 ciphers ውቅር ለመስጠት፣ ssl_conf_command Options PrioritizeChaChaን መግለጽ ይችላሉ። ssl_conf_command Ciphersuites TLS_CHACHA20_POLY1305_SHA256;
  • የኤስኤስኤል ግንኙነቶችን ለመደራደር የሚደረጉ ሙከራዎችን ሁሉ ውድቅ ለማድረግ የሚያዝ የ"ssl_reject_handshake" መመሪያ ታክሏል (ለምሳሌ በSNI መስክ ውስጥ ያልታወቁ የአስተናጋጅ ስሞች ያላቸውን ሁሉንም ጥሪዎች ውድቅ ለማድረግ መጠቀም ይቻላል)። አገልጋይ (ማዳመጥ 443 ssl; ኤስኤስኤል_እጅ_መጨባበጥ_ላይ; አገልጋይ (443 ssl ያዳምጡ; የአገልጋይ_ስም example.com; ssl_certificate example.com.crt; ssl_certificate_key example.com.key; }
  • የፕሮክሲ_smtp_auth መመሪያ ወደ ሜይል ተኪ ተጨምሯል፣ ይህም ተጠቃሚውን በ AUTH ትዕዛዝ እና በPLAIN SASL ሜካኒኬሽን ማረጋገጥ እንዲችሉ ያስችልዎታል።
  • የ"Kepalive_time" መመሪያ ታክሏል፣ ይህም የእያንዳንዱን የቀጥታ-ሕያው ግንኙነት አጠቃላይ የህይወት ዘመን ይገድባል፣ከዚያም ግንኙነቱ ይዘጋል (ከ keepalive_timeout ጋር መምታታት የለበትም፣ይህም የቆይታ-ህያው ግንኙነት የሚዘጋበትን የእንቅስቃሴ-አልባ ጊዜ ይገልጻል)።
  • የ$connection_time ተለዋዋጭ ታክሏል፣ በዚህ በኩል ግንኙነቱ የሚቆይበት ጊዜ በሚሊሰከንድ ትክክለኛነት በሰከንዶች ውስጥ መረጃ ማግኘት ይችላሉ።
  • አነስተኛውን የነጻ የዲስክ ቦታ መጠን በመወሰን የመሸጎጫውን መጠን የሚቆጣጠረው “ከደቂቃ ነፃ” መለኪያ ወደ “proxy_cache_path”፣ “fastcgi_cache_path”፣ “scgi_cache_path” እና “uwsgi_cache_path” መመሪያዎች ተጨምሯል።
  • የ"Lingering_close"፣ "Lingering_time" እና "Lingering_timeout" መመሪያዎች ከኤችቲቲፒ/2 ጋር ለመስራት ተስተካክለዋል።
  • በ HTTP/2 ውስጥ ያለው የግንኙነት ሂደት ኮድ ከ HTTP/1.x ትግበራ ጋር ቅርብ ነው። ለግል ቅንጅቶች "http2_recv_timeout", "http2_idle_timeout" እና "http2_max_requests" አጠቃላይ መመሪያዎችን "Kepalive_timeout" እና "keepalive_requests" እንዲቋረጥ ተደርጓል። ቅንጅቶቹ "http2_max_field_size" እና "http2_max_header_size" ተወግደዋል እና በምትኩ "ትልቅ_client_header_buffers" ስራ ላይ መዋል አለባቸው።
  • አዲስ የትእዛዝ መስመር አማራጭ "-e" ታክሏል, ይህም የስህተት ምዝግብ ማስታወሻን ለመጻፍ ተለዋጭ ፋይል እንዲገልጹ ያስችልዎታል, ይህም በቅንብሮች ውስጥ ከተጠቀሰው መዝገብ ይልቅ ጥቅም ላይ ይውላል. ከፋይል ስም ይልቅ ልዩ ዋጋውን stderr መግለጽ ይችላሉ።

ምንጭ: opennet.ru

አስተያየት ያክሉ