การเปิดตัว nginx 1.19.3 และ njs 0.4.4

ก่อตัวขึ้น การปล่อยต้นน้ำ nginx 1.19.3ซึ่งภายในการพัฒนาความสามารถใหม่ยังคงดำเนินต่อไป (รองรับความเสถียรแบบขนาน สาขา 1.18 มีเพียงการเปลี่ยนแปลงที่เกี่ยวข้องกับการกำจัดข้อผิดพลาดร้ายแรงและช่องโหว่เท่านั้น)

หลัก การเปลี่ยนแปลง:

  • โมดูลรวมอยู่ด้วย ngx_stream_set_moduleซึ่งช่วยให้คุณสามารถกำหนดค่าให้กับตัวแปรได้

    เซิร์ฟเวอร์ {
    ฟัง 12345;
    ตั้งค่า $true 1;
    }

  • เพิ่มคำสั่งแล้ว proxy_cookie_flags เพื่อระบุการตั้งค่าสถานะสำหรับคุกกี้ในการเชื่อมต่อพร็อกซี ตัวอย่างเช่น หากต้องการเพิ่มแฟล็ก “httponly” ให้กับคุกกี้ “one” และแฟล็ก “nosecure” และ “samesite=strict” สำหรับคุกกี้อื่นๆ ทั้งหมด คุณสามารถใช้โครงสร้างต่อไปนี้:

    proxy_cookie_flags หนึ่ง http เท่านั้น;
    proxy_cookie_flags ~ noscure Samesite=เข้มงวด;

  • คำสั่งที่คล้ายกัน userid_flags สำหรับการเพิ่มแฟล็กให้กับคุกกี้ก็ถูกนำมาใช้กับโมดูล ngx_http_userid ด้วย

พร้อมกัน ไปยังสถานที่ ปัญหา njs 0.4.4ซึ่งเป็นล่าม JavaScript สำหรับเว็บเซิร์ฟเวอร์ nginx ล่าม njs ใช้มาตรฐาน ECMAScript และช่วยให้คุณสามารถขยายความสามารถของ nginx ในการประมวลผลคำขอโดยใช้สคริปต์ในการกำหนดค่า สามารถใช้สคริปต์ในไฟล์การกำหนดค่าเพื่อกำหนดตรรกะขั้นสูงสำหรับการประมวลผลคำขอ การสร้างการกำหนดค่า การสร้างการตอบสนองแบบไดนามิก การแก้ไขคำขอ/การตอบสนอง หรือการสร้าง stub อย่างรวดเร็วเพื่อแก้ไขปัญหาในเว็บแอปพลิเคชัน ในเวอร์ชันใหม่:

  • เพิ่มการรองรับการแยกตัวเลขด้วยภาพ (เช่น "1_000")
  • ใช้วิธีการที่ขาดหายไปสำหรับ %TypedArray%.prototype: every(), filter(), find(), findIndex(), forEach(), include(), indexOf(), LastIndexOf(), map(), ลด(), ลดขวา() ย้อนกลับ() บาง()
  • ใช้วิธีการที่ขาดหายไปสำหรับ %TypedArray%: from(), of()
  • วัตถุ DataView นำไปใช้

    : >> (DataView ใหม่(buf.buffer)).getUint16()
    : 32974

  • วัตถุบัฟเฟอร์ที่นำไปใช้

    : >> var buf = Buffer.from([0x80,206,177,206,178])
    : ไม่ได้กำหนด
    : >> buf.slice(1).toString()
    : 'αβ'
    : >> buf.toString('base64')
    : 'gM6xzrI='

  • เพิ่มการสนับสนุนอ็อบเจ็กต์บัฟเฟอร์ให้กับเมธอด "crypto" และ "fs" และรับรองว่า fs.readFile(), Hash.prototype.digest() และ Hmac.prototype.digest() ส่งคืนอินสแตนซ์ของอ็อบเจ็กต์ Buffer
  • เพิ่มการสนับสนุน ArrayBuffer ในเมธอด TextDecoder.prototype.decode() แล้ว

ที่มา: opennet.ru

เพิ่มความคิดเห็น