إصدار nginx 1.21.2 و njs 0.6.2

تم إصدار الفرع الرئيسي لـ nginx 1.21.2، والذي يستمر من خلاله تطوير الميزات الجديدة (في الفرع المستقر المدعوم الموازي 1.20، يتم إجراء التغييرات المتعلقة بإزالة الأخطاء الجسيمة ونقاط الضعف فقط).

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

  • يتم حظر طلبات HTTP/1.0 التي تتضمن رأس HTTP "Transfer-Encoding" (تظهر في إصدار بروتوكول HTTP/1.1).
  • لقد تم إيقاف دعم مجموعة تشفير التصدير.
  • التوافق مع مكتبة OpenSSL 3.0.
  • تم تنفيذ نقل رؤوس "Auth-SSL-Protocol" و"Auth-SSL-Cipher" إلى خادم مصادقة وكيل البريد.
  • تسمح واجهة برمجة تطبيقات تصفية نص الطلب بالتخزين المؤقت للبيانات المعالجة.
  • عند تحميل شهادات الخادم، تم تعديل استخدام مستويات الأمان المدعومة بدءًا من OpenSSL 1.1.0 والمحددة من خلال المعلمة "@SECLEVEL=N" في توجيه ssl_ciphers.
  • تم إصلاح حالات التوقف التي حدثت عند إنشاء اتصال SSL للواجهات الخلفية في وحدات الدفق وgRPC.
  • تم حل مشكلة كتابة نص الطلب على القرص عند استخدام HTTP/2، في حالة عدم وجود رأس "طول المحتوى" في الطلب.

وفي الوقت نفسه، تم إصدار njs 0.6.2، وهو مترجم JavaScript لخادم الويب nginx. يطبق مترجم njs معايير ECMAScript ويسمح لك بتوسيع قدرة nginx على معالجة الطلبات باستخدام البرامج النصية في التكوين. يمكن استخدام البرامج النصية في ملف تكوين لتحديد المنطق المتقدم لمعالجة الطلبات، أو إنشاء تكوين، أو إنشاء استجابة ديناميكيًا، أو تعديل طلب/استجابة، أو إنشاء بذرة بسرعة لحل المشكلات في تطبيقات الويب. في الإصدار الجديد، تمت إضافة الأساليب Promise.all() وPromise.allSettled() وPromise.any() وPromise.race() إلى تنفيذ Promise. تم تنفيذ الدعم لكائن AggregateError.

المصدر: opennet.ru

إضافة تعليق