Nginx 1.17.1 va njs 0.3.3 versiyalarining chiqarilishi

Mavjud yuqori oqim nginx 1.17.1, uning doirasida yangi imkoniyatlarni rivojlantirish davom etmoqda (parallel ravishda qo'llab-quvvatlanadigan barqaror filial 1.16 Faqat jiddiy xatolar va zaifliklarni bartaraf etish bilan bog'liq o'zgarishlar amalga oshiriladi.

asosiy o'zgartirish:

  • Direktiv qo'shildi limit_req_dry_run, so'rovni qayta ishlash intensivligiga hech qanday cheklovlar qo'llanilmaydigan (stavkalar chegarasisiz), lekin umumiy xotiradagi chegaralardan oshib ketadigan so'rovlar sonini hisobga olishni davom ettiradigan sinov rejimini faollashtiradigan;
  • "yuqoridagi" sozlamalar blokida "yuqoriga" direktivasidan foydalangandaxashΒ» mijoz-server ulanishi bilan yuk balansini tashkil qilish uchun, agar siz bo'sh kalit qiymatini belgilasangiz, endi yagona balanslash rejimi (aylanma rejim) faollashtirilgan;
  • Keshni "image_filter" direktivasi bilan birgalikda ishlatish va "error_page" direktivasi yordamida 415 xato kodini qayta yo'naltirishda ish jarayonining buzilishi tuzatildi;
  • O'rnatilgan Perl tarjimonidan foydalanishda yuzaga kelgan ish oqimining buzilishi tuzatildi.

Bundan tashqari, buni ta'kidlash mumkin chiqdi njs 0.3.3, nginx veb-server uchun JavaScript tarjimoni. njs tarjimoni ECMAScript standartlarini amalga oshiradi va nginx-ning konfiguratsiyadagi skriptlar yordamida so'rovlarni qayta ishlash qobiliyatini kengaytirish imkonini beradi. Skriptlar konfiguratsiya faylida so'rovlarni qayta ishlash, konfiguratsiyani yaratish, javobni dinamik ravishda yaratish, so'rovni/javobni o'zgartirish yoki veb-ilovalardagi muammolarni hal qilish uchun tezda stublarni yaratish uchun ilg'or mantiqni aniqlash uchun ishlatilishi mumkin.

NJS ning yangi versiyasi fuzzing testi paytida aniqlangan muammolarni tuzatadi. Joriy jarayonning parametrlari va muhit o'zgaruvchilari (process.pid, process.env.HOME va boshqalar) bilan global o'zgaruvchan "jarayon" amalga oshirildi. Barcha o'rnatilgan xususiyatlar va usullar yozilishi mumkin. Array.prototype.fill() ilovasi qo'shildi. ECMAScript 5 da taklif qilingan sintaksisni qo'llab-quvvatlash amalga oshirildi oluvchi ΠΈ sozlovchi ob'ekt xususiyatini funktsiyaga ulash uchun, masalan:

var o = {a:2};
Object.defineProperty(o, 'b', {get:function(){qaytish 2*this.a}});

Manba: opennet.ru

a Izoh qo'shish