การเปิดตัว nginx 1.19.2 และ njs 0.4.3

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

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

  • ขณะนี้การเชื่อมต่อ Keepalive เริ่มปิดก่อนที่การเชื่อมต่อที่มีอยู่ทั้งหมดจะหมดลง และคำเตือนที่เกี่ยวข้องจะแสดงอยู่ในบันทึก
  • เมื่อใช้การส่งแบบ chunked จะมีการเพิ่มประสิทธิภาพการอ่านเนื้อหาคำขอของไคลเอ็นต์
  • แก้ไขหน่วยความจำรั่วที่เกิดขึ้นเมื่อใช้คำสั่ง "ssl_ocsp"
  • ปัญหาที่ปรากฏในรีลีสล่าสุดโดยมีข้อความ "zero size buf in output" ถูกส่งไปยังบันทึกเมื่อเซิร์ฟเวอร์ FastCGI ส่งคืนการตอบสนองที่ไม่ถูกต้องได้รับการแก้ไขแล้ว
  • แก้ไขข้อขัดข้องของเวิร์กโฟลว์ที่เกิดขึ้นเมื่อ large_client_header_buffers ถูกตั้งค่าเป็นขนาดที่แตกต่างกันบนเซิร์ฟเวอร์เสมือนที่แตกต่างกัน
  • ปัญหาเกี่ยวกับการยกเลิกการเชื่อมต่อ SSL ที่ไม่ถูกต้องและผลลัพธ์ของคำเตือน “SSL_shutdown() ล้มเหลว (SSL: ... ลองเขียนใหม่ไม่ถูกต้อง)” ได้รับการแก้ไขแล้ว
  • แก้ไขข้อผิดพลาดในโมดูล ngx_http_slice_module และ ngx_http_xslt_filter_module

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

  • เพิ่มโมดูล Query String พร้อมฟังก์ชันสำหรับแยกวิเคราะห์สตริงด้วยพารามิเตอร์คำขอ HTTP
  • ขณะนี้ฟังก์ชัน fs.mkdir() และ fs.rmdir() รองรับการสร้างและลบไดเร็กทอรีแบบวนซ้ำ
  • เพิ่มตัวถอดรหัส UTF-8
  • มีการรองรับ TextEncoder และ TextDecoder สำหรับการแปลงระหว่างโค้ดอักขระและการแทน Unicode (ตัวอย่าง: "(new TextDecoder()).decode(new Uint8Array([206,177,206,178]))"

ที่มา: opennet.ru

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