تم إصدار الفرع الرئيسي لـ nginx الإصدار 1.31.5، والذي يستمر فيه تطوير الميزات الجديدة. بالتوازي مع ذلك، يتم دعم الفرع المستقر 1.30.x، مع إجراء تغييرات تتعلق فقط بإصلاح الأخطاء والثغرات الأمنية الخطيرة. في المستقبل، سيتم إنشاء الفرع المستقر 1.31 بناءً على الفرع الرئيسي 1.32.x. كود المشروع مكتوب بلغة C وموزع بموجب ترخيص BSD.
في الإصدار الجديد:
- تمت إضافة واجهة برمجة تطبيقات REST للإدارة الخارجية، مما يسمح بإعادة تحميل التكوين عن بُعد، واسترجاع بيانات الإعدادات، وعرض حالة عمليات العامل. يتم تفعيل دعم واجهة برمجة التطبيقات باستخدام خيار البناء "--with-control-api" ووسيطة سطر الأوامر "-l". يُنصح بربط واجهة برمجة التطبيقات بمقبس Unix (nginx -l unix:/path/to/sock). يمكن استخدام أداة Curl للوصول إلى واجهة برمجة التطبيقات.
- أُضيفت إمكانية استخدام متغير يبدأ بالرمز "$" كقيمة لتوجيه الموقع. تُحدد قيمة المتغير، المحسوبة أثناء التشغيل، شروط الدخول إلى كتلة الموقع. يمكن استخدام هذه المواقع داخل كتل مواقع أخرى أو أن تحتوي هي نفسها على مواقع متداخلة. map $arg_foo $pred { bar 1; qux 1; } location $pred { root html; }
- تم تنفيذ وحدة ngx_http_json_module، مما يوفر القدرة على تحليل البيانات بتنسيق JSON، واستخراج الحقول الفردية من JSON، واستخدام هذه الحقول كمتغيرات في تكوين nginx.
- تمت إضافة توجيه "client_body_early_read"، والذي عند تمكينه، يتسبب في قراءة نص الطلب فور استلام الرؤوس.
يتوفر الآن Njs 1.0.1، وهو وحدة برمجية لدمج مترجم جافا سكريبت في خادم Nginx HTTP. يُمكّن Njs من استخدام نصوص جافا سكريبت في ملفات التكوين لتوسيع إمكانيات Nginx. يمكن استخدام هذه النصوص البرمجية لتحديد منطق متقدم لمعالجة الطلبات، وإنشاء التكوين، وتوليد الاستجابات ديناميكيًا، وتعديل الطلبات/الاستجابات، أو إنشاء نماذج أولية بسرعة لحل المشكلات في تطبيقات الويب. كُتب كود المشروع بلغة C ويُوزع بموجب ترخيص BSD.
يعمل إصدار njs 1.0.1 على إصلاح ثلاث ثغرات أمنية: تجاوز سعة المخزن المؤقت في وظيفة xml.exclusiveC14n (CVE-2026-78689)، وتجاوز قيود الوصول عبر js_access (CVE-2026-18329)، وتعطل عملية العامل بسبب التلاعب بـ ngx.fetch (CVE-2026-78222).
المصدر: opennet.ru
