إصدار nginx 1.17.9 و njs 0.3.9

تشكلت الافراج عن المنبع nginx 1.17.9، حيث يستمر تطوير القدرات الجديدة (بالتوازي مع دعم مستقر فرع 1.16 يتم إجراء التغييرات المتعلقة بإزالة الأخطاء الجسيمة ونقاط الضعف فقط).

رئيسي التغييرات:

  • يحظر تحديد عدة أسطر "مضيف" في
    رأس الطلب؛

  • تم إصلاح الخلل حيث تجاهل nginx الأسطر الإضافية
    "ترميز النقل" في رأس الطلب؛

  • تم إجراء إصلاحات لمنع تسرب المقبس عند استخدام بروتوكول HTTP/2؛
  • تم إصلاح خطأ التجزئة في العملية المنفذة الذي يحدث عند استخدام تدبيس OCSP؛
  • تم إجراء التصحيحات على الوحدة ngx_http_mp4_module؛
  • تم حل مشكلة في الحالات التي عند إعادة توجيه الأخطاء بالرمز 494 باستخدام التوجيه "error_page"، يمكن إرجاع استجابة بالرمز 494 بدلاً من 400؛
  • تم إصلاح تسرب المقبس عند استخدام الاستعلامات الفرعية في وحدة njs وتوجيه aio.

بالإضافة إلى ذلك ، يمكن ملاحظته قضية إن جي إس 0.3.9، مترجم جافا سكريبت لخادم الويب nginx. يطبق مترجم njs معايير ECMAScript ويسمح لك بتوسيع قدرة nginx على معالجة الطلبات باستخدام البرامج النصية في التكوين. يمكن استخدام البرامج النصية في ملف تكوين لتحديد المنطق المتقدم لمعالجة الطلبات، أو إنشاء تكوين، أو إنشاء استجابة ديناميكيًا، أو تعديل طلب/استجابة، أو إنشاء بذرة بسرعة لحل المشكلات في تطبيقات الويب.

في الإصدار الجديد، أضافت وحدة njs دعمًا لوضع الطلب المنفصل في r.subrequest(). يتم تجاهل الردود على الاستعلامات الفرعية المنفصلة. على عكس الاستعلامات الفرعية العادية، يمكن إنشاء استعلام فرعي منفصل داخل معالج متغير. أيضًا:

  • تمت إضافة وعود API لوحدة "fs"؛
  • تمت إضافة الوظائف access() وsymlink() وunlink() إلى الوحدة النمطية "fs".
    realpath() وما شابه ذلك؛

  • تم تقديم المصفوفات العادية، ذات الكفاءة من حيث استهلاك الذاكرة؛
  • تم إجراء تحسينات على المعجم؛
  • تم إجراء إصلاح على تعيين الوظائف الأصلية في backtraces.
    آثار؛

  • تم إصلاح مكالمات رد الاتصال في الوحدة "fs"؛
  • تم إجراء التصحيحات على Object.getOwnPropertySymbols();
  • تم إصلاح تجاوز سعة المخزن المؤقت للكومة في njs_json_append_string();
  • تم إصلاح encodeURI() وdecodeURI() للامتثال للمواصفات؛
  • تم إصلاح Number.prototype.toPrecision();
  • معالجة ثابتة لوسيطة المسافة في JSON.stringify();
  • تم إصلاح JSON.stringify() باستخدام كائنات Number() وString()؛
  • تم توفير الهروب من أحرف Unicode في JSON.stringify() وفقًا لـ
    مع المواصفات؛

  • تم إجراء إصلاح على استيراد الوحدات النمطية غير الأصلية؛
  • تم إصلاح njs.dump()‎ باستخدام مثيل Date() في الحاوية.

المصدر: opennet.ru

إضافة تعليق