جاري ڪريو nginx 1.20.0

ترقي جي هڪ سال کان پوء، اعلي ڪارڪردگي HTTP سرور جي هڪ نئين مستحڪم شاخ ۽ ملٽي پروٽوڪول پراکسي سرور nginx 1.20.0 متعارف ڪرايو ويو آهي، جنهن ۾ مکيه شاخ 1.19.x ۾ گڏ ڪيل تبديلين کي شامل ڪيو ويو آهي. مستقبل ۾، مستحڪم برانچ 1.20 ۾ سڀ تبديليون سنگين غلطين ۽ خطرن جي خاتمي سان لاڳاپيل هونديون. جلد ئي nginx 1.21 جي مکيه شاخ ٺاهي ويندي، جنهن ۾ نئين خاصيتن جي ترقي جاري رهندي. عام استعمال ڪندڙن لاءِ جن وٽ ٽئين پارٽي جي ماڊلز سان مطابقت کي يقيني بڻائڻ جو ڪم نه آهي، ان کي استعمال ڪرڻ جي صلاح ڏني وئي آهي مکيه شاخ، جنهن جي بنياد تي هر ٽن مهينن ۾ تجارتي پراڊڪٽ Nginx Plus جي رليز ٿيندي آهي.

Netcraft جي مارچ جي رپورٽ موجب، nginx سڀني فعال سائيٽن جي 20.15٪ تي استعمال ڪيو ويو آهي (هڪ سال اڳ 19.56٪، ٻه سال اڳ 20.73٪)، جيڪو هن درجي ۾ مقبوليت ۾ ٻئي نمبر جي برابر آهي (Apache جو حصو 25.38٪ سان ملندو آهي. (هڪ سال اڳ 27.64٪)، گوگل - 10.09٪، Cloudflare - 8.51٪. ساڳئي وقت، جڏهن سڀني سائيٽن تي غور ڪيو وڃي، nginx پنهنجي قيادت کي برقرار رکي ٿو ۽ مارڪيٽ جي 35.34٪ تي قبضو ڪري ٿو (هڪ سال اڳ 36.91٪، ٻه سال اڳ - 27.52٪)، جڏهن ته Apache جو حصو 25.98٪ سان ملندو آهي، OpenResty (پليٽ فارم تي ٻڌل nginx ۽ LuaJIT.) - 6.55٪، Microsoft IIS - 5.96٪.

دنيا ۾ ملين سڀ کان وڌيڪ دورو ڪيل سائيٽن ۾، نينڪس جو حصو 25.55٪ آهي (هڪ سال اڳ 25.54٪، ٻه سال اڳ 26.22٪). في الحال، اٽڪل 419 ملين ويب سائيٽون هلائي رهيا آهن نينگڪس (هڪ سال اڳ 459 ملين). W3Techs جي مطابق، nginx استعمال ڪيو ويو آهي 33.7٪ سائيٽن مان 31.9٪ سائيٽن تي جيڪي مليون سڀ کان وڌيڪ دورو ڪيا ويا آهن، گذريل سال اپريل ۾ اهو انگ 41.8٪ هو، جيڪو سال اڳ - 39.5٪ (گهٽٽ Cloudflare جي الڳ اڪائونٽنگ ڏانهن منتقلي جي وضاحت ڪئي وئي آهي http سرور). Apache جو حصو سال ۾ 34٪ کان 8.3٪ تائين گھٽجي ويو، ۽ Microsoft IIS جو حصو 7٪ کان 6.3٪ تائين. LiteSpeed ​​جو حصو 8.4٪ کان 0.8٪ تائين وڌايو ويو، ۽ Node.js 1.2٪ کان 79.1٪ تائين. روس ۾، nginx سڀ کان وڌيڪ دورو ڪيل سائيٽن جي 78.9٪ تي استعمال ڪيو ويو آهي (هڪ سال اڳ - XNUMX٪).

1.19.x اپ اسٽريم برانچ جي ترقي دوران شامل ڪيل سڀ کان وڌيڪ قابل ذڪر سڌارا:

  • OCSP (آن لائن سرٽيفڪيٽ اسٽيٽس پروٽوڪول) پروٽوڪول جي بنياد تي خارجي خدمتن کي استعمال ڪندي ڪلائنٽ سرٽيفڪيٽ جي تصديق ڪرڻ جي صلاحيت شامل ڪئي وئي. چيڪ کي فعال ڪرڻ لاءِ، ssl_ocsp هدايت پيش ڪئي وئي آهي، ڪيش جي سائيز کي ترتيب ڏيڻ لاءِ - ssl_ocsp_cache، سرٽيفڪيٽ ۾ بيان ڪيل OCSP هينڊلر جي URL کي ٻيهر بيان ڪرڻ لاءِ - ssl_ocsp_responder.
  • ngx_stream_set_module module شامل ڪيو ويو آھي، جيڪو توھان کي اجازت ڏئي ٿو ھڪڙي قيمت کي متغير سرور کي تفويض ڪرڻ لاء { ٻڌو 12345؛ $true 1 سيٽ ڪريو؛ }
  • شامل ڪيو ويو proxy_cookie_flags هدايتون پراڪسي ڪنيڪشن ۾ ڪوڪيز لاءِ جھنڊو بيان ڪرڻ لاءِ. مثال طور، ڪوڪيز ۾ “httponly” جھنڊو شامل ڪرڻ لاءِ “one”، ۽ “nosecure” ۽ “samesite=strict” جھنڊو ٻين سڀني ڪوڪيز لاءِ، توھان ھيٺ ڏنل تعمير استعمال ڪري سگھو ٿا: proxy_cookie_flags one httponly; proxy_cookie_flags ~ nosecure samesite = سخت؛

    ڪوڪيز ۾ جھنڊو شامل ڪرڻ لاءِ ھڪڙو ساڳيو userid_flags ھدايت پڻ ngx_http_userid ماڊل لاءِ لاڳو ڪيو ويو آھي.

  • شامل ڪيل هدايتون "ssl_conf_command"، "proxy_ssl_conf_command"، "grpc_ssl_conf_command" ۽ "uwsgi_ssl_conf_command"، جنهن سان توهان OpenSSL ترتيب ڏيڻ لاءِ صوابديدي پيرا ميٽر سيٽ ڪري سگهو ٿا. مثال طور، ChaCha ciphers کي ترجيح ڏيڻ ۽ TLSv1.3 ciphers جي جديد ترتيب ڏيڻ لاءِ، توھان وضاحت ڪري سگھو ٿا ssl_conf_command جا اختيار PrioritizeChaCha؛ ssl_conf_command Ciphersuites TLS_CHACHA20_POLY1305_SHA256؛
  • شامل ڪيو ويو "ssl_reject_handshake" هدايت، جيڪو SSL ڪنيڪشن جي ڳالهين جي سڀني ڪوششن کي رد ڪرڻ جي هدايت ڪري ٿو (مثال طور، SNI فيلڊ ۾ نامعلوم ميزبان نالن سان سڀني ڪالن کي رد ڪرڻ لاء استعمال ڪري سگهجي ٿو). سرور {ٻڌو 443 ايس ايس ايل؛ ssl_reject_handshake on؛ } سرور {ٻڌو 443 ايس ايس ايل؛ server_name example.com؛ ssl_certificate example.com.crt؛ ssl_certificate_key example.com.key؛ }
  • proxy_smtp_auth ھدايت ميل پراڪسي ۾ شامل ڪئي وئي آھي، توھان کي اجازت ڏئي ٿي ته صارف کي AUTH ڪمانڊ ۽ PLAIN SASL ميڪانيزم استعمال ڪندي پس منظر تي تصديق ڪري سگھو ٿا.
  • شامل ڪيو ويو "keepalive_time" هدايت، جيڪو هر هڪ جيئرو ڪنيڪشن جي ڪل لائف ٽائيم کي محدود ڪري ٿو، جنهن کان پوءِ ڪنيڪشن بند ٿي ويندو (ڪئپالائيو_ٽائم آئوٽ سان پريشان نه ڪيو وڃي، جيڪو غير فعال ٿيڻ جي وقت جي وضاحت ڪري ٿو جنهن کان پوءِ زنده رکڻ واري ڪنيڪشن کي بند ڪيو وڃي ٿو).
  • شامل ڪيو ويو $connection_time variable، جنهن ذريعي توهان مليس سيڪنڊن جي درستگي سان سيڪنڊن ۾ ڪنيڪشن جي مدت بابت معلومات حاصل ڪري سگهو ٿا.
  • هڪ "min_free" پيٽرولر شامل ڪيو ويو آهي "proxy_cache_path"، "fastcgi_cache_path"، "scgi_cache_path" ۽ "uwsgi_cache_path" هدايتون، جيڪي مفت ڊسڪ اسپيس جي گھٽ ۾ گھٽ سائيز کي طئي ڪرڻ جي بنياد تي ڪيش جي سائيز کي منظم ڪن ٿا.
  • "lingering_close"، "lingering_time" ۽ "lingering_timeout" هدايتون HTTP/2 سان ڪم ڪرڻ لاءِ ترتيب ڏنيون ويون آهن.
  • HTTP/2 ۾ ڪنيڪشن پروسيسنگ ڪوڊ HTTP/1.x عمل درآمد جي ويجهو آهي. انفرادي سيٽنگن لاءِ سپورٽ "http2_recv_timeout"، "http2_idle_timeout" ۽ "http2_max_requests" کي عام هدايتن جي حق ۾ بند ڪيو ويو آهي "keepalive_timeout" ۽ "keepalive_requests". سيٽنگون "http2_max_field_size" ۽ "http2_max_header_size" کي هٽايو ويو آهي ۽ ان جي بدران "large_client_header_buffers" استعمال ڪيو وڃي.
  • شامل ڪيو ويو نئون ڪمانڊ لائن آپشن “-e”، جيڪو توھان کي اجازت ڏئي ٿو ھڪ متبادل فائل کي واضع ڪرڻ جي لاءِ غلطي لاگ لکڻ لاءِ، جيڪا سيٽنگ ۾ بيان ڪيل لاگ بدران استعمال ڪئي ويندي. فائل جي نالي جي بدران، توھان وضاحت ڪري سگھو ٿا خاص قدر stderr.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو