Nginx 1.19.3 va njs 0.4.4 versiyasi

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

asosiy o'zgartirish:

  • Modul kiritilgan ngx_stream_set_module, bu o'zgaruvchiga qiymat belgilash imkonini beradi

    server {
    tinglash 12345;
    $true 1 belgilang;
    }

  • Direktiv qo'shildi proxy_cookie_bayroqlari proksilangan ulanishlarda Cookie fayllari uchun bayroqlarni belgilash uchun. Masalan, “bir” Cookie fayliga “httponly” bayrog‘ini va boshqa barcha Cookie fayllari uchun “nosecure” va “samesite=strict” bayroqlarini qo‘shish uchun quyidagi konstruksiyadan foydalanishingiz mumkin:

    proxy_cookie_flags faqat bitta http;
    proxy_cookie_flags ~ nosecure samesite=qat'iy;

  • Shunga o'xshash direktiv userid_flags Cookie-ga bayroqlar qo'shish ngx_http_userid moduli uchun ham amalga oshiriladi.

Bir vaqtning o'zida amalga oshirildi chiqdi NJS 0.4.4, 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. Yangi versiyada:

  • Raqamlarni vizual ajratish uchun qo'shilgan yordam (masalan, "1_000").
  • %TypedArray%.prototype uchun etishmayotgan usullar amalga oshirildi: every(), filter(), find(), findIndex(), forEach(), include(), indexOf(), lastIndexOf(), map(), reduce(), reduceRight(), reverse(), some().
  • %TypedArray% uchun etishmayotgan usullar amalga oshirildi: from(), of().
  • Amalga oshirilgan DataView obyekti.

    : >> (yangi DataView(buf.buffer)).getUint16()
    : 32974

  • Amalga oshirilgan Bufer obyekti.

    : >> var buf = Buffer.from([0x80,206,177,206,178])
    : aniqlanmagan
    : >> buf.slice(1).toString()
    : 'ab'
    : >> buf.toString('base64')
    : 'gM6xzrI='

  • "Kripto" va "fs" usullariga Bufer ob'ektini qo'llab-quvvatlash qo'shildi va fs.readFile(), Hash.prototype.digest() va Hmac.prototype.digest() Bufer ob'ektining nusxasini qaytarishini ta'minladi.
  • ArrayBuffer yordami TextDecoder.prototype.decode() usuliga qo'shildi.

Manba: opennet.ru

a Izoh qo'shish