nginx 1.25.3، njs 0.8.2 اور NGINX یونٹ 1.31.1 کی ریلیز

nginx 1.25.3 کی مرکزی شاخ جاری کی گئی ہے، جس کے اندر نئی خصوصیات کی ترقی جاری ہے۔ متوازی برقرار رکھنے والی مستحکم شاخ 1.24.x میں صرف سنگین کیڑوں اور کمزوریوں کے خاتمے سے متعلق تبدیلیاں شامل ہیں۔ مستقبل میں، مرکزی شاخ 1.25.x کی بنیاد پر، ایک مستحکم شاخ 1.26 تشکیل دی جائے گی۔ پروجیکٹ کوڈ C میں لکھا گیا ہے اور BSD لائسنس کے تحت تقسیم کیا گیا ہے۔

تبدیلیوں کے درمیان:

  • HTTP/2 کلائنٹس کی غیر معمولی سرگرمی کے خلاف تحفظ کو مضبوط کیا گیا ہے، اور خاص طور پر، "Rapid Reset" کلاس کے DoS حملوں کے خلاف، جس میں ایک ہی HTTP/2 کنکشن کے اندر بڑی تعداد میں فوری طور پر ری سیٹ تھریڈز بنائے جاتے ہیں۔ پہلے سے طے شدہ کنفیگریشن میں، اس طرح کے حملے فی کنکشن "keepalive_requests" (ہر 1000 درخواستوں کے بعد کنکشن دوبارہ ترتیب دیا جائے گا) اور "limit_req" کی پابندیوں کی حد تک محدود ہوتے ہیں۔ دھاگوں کی ایک بڑی تعداد کے ذریعے درخواستوں کے سیلاب کا پہلے جواب دینے کے لیے، ایک اضافی حد شامل کی گئی ہے جو ڈیفالٹ طور پر فی ایونٹ پروسیسنگ سائیکل میں 256 (2 * max_concurrent_streams) سے زیادہ نئے تھریڈز بنانے کی اجازت نہیں دیتی ہے۔ نئی حد بیک وقت دھاگوں کی تعداد کی مجموعی حد تک پہنچنے سے پہلے درخواستوں کو مسدود کرنا شروع کرنا ممکن بناتی ہے، مثال کے طور پر جب تھریڈز کو غیر مطابقت پذیری سے پروسیس کیا جا رہا ہو یا فلش کیا جا رہا ہو۔ اسی طرح کی تبدیلی ایک ہفتہ قبل شائع ہونے والی angie 1.3.1 (nginx fork) کی ریلیز میں بھی شامل تھی۔
  • خود بخود HTTP/2 کنکشن کا پتہ لگاتے وقت استعمال ہونے والے بفرز کا بہتر انتظام۔
  • بڑی تعداد میں "مقام" کی ہدایات کے ساتھ کنفیگریشن شروع کرنے کی کارکردگی کو بہتر بنایا گیا ہے۔
  • ایس ایس ایل کے بغیر HTTP/2 استعمال کرنے کی کوشش کے دوران پیش آنے والے حادثے کو ٹھیک کیا۔
  • خالی وضاحتی متن کے ساتھ پسدید کے ذریعہ واپس کردہ "اسٹیٹس" ہیڈر کی درست غلط پروسیسنگ۔
  • پی سی آر ای 2 لائبریری کے ساتھ تعمیر کرتے وقت ہونے والی ری کنفیگریشن کے دوران ایک میموری لیک کو ٹھیک کیا۔
  • HTTP/3 پروٹوکول کے لیے سپورٹ سے متعلق اصلاحات اور بہتریوں کا ایک بڑا حصہ متعارف کرایا گیا ہے۔

اسی وقت، njs 0.8.2 جاری کیا گیا تھا، جو nginx ویب سرور کے لیے جاوا اسکرپٹ کا ترجمان ہے۔ njs مترجم ECMAScript معیارات کو لاگو کرتا ہے اور آپ کو ترتیب میں اسکرپٹس کا استعمال کرتے ہوئے درخواستوں پر کارروائی کرنے کے لیے nginx کی صلاحیت کو بڑھانے کی اجازت دیتا ہے۔ اسکرپٹس کو کنفیگریشن فائل میں درخواستوں پر کارروائی کرنے، کنفیگریشن تیار کرنے، متحرک طور پر ردعمل پیدا کرنے، درخواست/جواب میں ترمیم کرنے، یا ویب ایپلیکیشنز میں مسائل کو حل کرنے کے لیے فوری طور پر اسٹبس بنانے کے لیے استعمال کیا جا سکتا ہے۔ نئے ورژن میں ایک کنسول آبجیکٹ شامل کیا گیا ہے جو ایرر()، معلومات()، لاگ()، ٹائم()، ٹائم اینڈ() اور وارننگ() طریقے فراہم کرتا ہے۔ fs.existsSync() طریقہ fs ماڈیول میں شامل کیا گیا ہے۔

آپ NGINX یونٹ 1.31.1 ایپلیکیشن سرور کی اشاعت کو بھی نوٹ کر سکتے ہیں، جو مختلف پروگرامنگ زبانوں (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js اور Java) میں ویب ایپلیکیشن چلانے کا حل فراہم کرتا ہے۔ NGINX یونٹ بیک وقت مختلف پروگرامنگ زبانوں میں متعدد ایپلیکیشنز چلا سکتا ہے، جن کے لانچ پیرامیٹرز کو کنفیگریشن فائلوں میں ترمیم کرنے اور دوبارہ شروع کرنے کی ضرورت کے بغیر متحرک طور پر تبدیل کیا جا سکتا ہے۔ بگ فکسز کے علاوہ، Wasm ماڈیول میں نیا ورژن 4 GB سے بڑا ڈیٹا لوڈ کرنے کی اجازت دیتا ہے، اور جواب دیتے وقت، HTTP اسٹیٹس کوڈز سیٹ کرنا ممکن ہے۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں