การเปิดตัว nginx 1.17.0 และ njs 0.3.2

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

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

  • เพิ่มการรองรับตัวแปรในคำสั่ง "limit_rate" และ "limit_rate_after" รวมถึงในคำสั่ง "proxy_upload_rate" และ
    "proxy_download_rate" ของโมดูลสตรีม

  • ข้อกำหนดที่เพิ่มขึ้นสำหรับเวอร์ชันขั้นต่ำที่รองรับของ OpenSSL - 0.9.8;
  • ตามค่าเริ่มต้น โมดูล ngx_http_postpone_filter_module จะถูกสร้างขึ้น
  • ปัญหาเกี่ยวกับคำสั่ง "รวม" ไม่ทำงานภายในบล็อก "if" และ "limit_ยกเว้น" ได้รับการแก้ไขแล้ว
  • แก้ไขข้อบกพร่องเมื่อประมวลผลค่าไบต์ "พิสัย"

ท่ามกลางการปรับปรุงที่สำคัญที่คาดหวังในสาขา 1.17 มีการกล่าวถึงการดำเนินการสนับสนุนโปรโตคอล QUIC และ HTTP/3.

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

njs รุ่นใหม่เพิ่มการรองรับเทมเพลตสตริงที่กำหนดไว้ในข้อกำหนด ECMAScript6. เทมเพลตสตริงคือตัวอักษรสตริงที่อนุญาตให้มีนิพจน์อยู่ในบรรทัด นิพจน์ถูกกำหนดไว้ในบล็อก ${...} ที่วางอยู่ภายในบรรทัด ซึ่งสามารถรวมทั้งตัวแปรแต่ละตัว (${name}) และนิพจน์ (${5 + a + b})) นอกจากนี้ ยังมีการเพิ่มการรองรับกลุ่มที่มีชื่อลงในออบเจ็กต์ RegExp ซึ่งช่วยให้คุณสามารถเชื่อมโยงส่วนของสตริงที่จับคู่ด้วยนิพจน์ทั่วไปกับชื่อเฉพาะ แทนที่จะเป็นหมายเลขซีเรียลของรายการที่ตรงกัน เพิ่มการสนับสนุนสำหรับการสร้างด้วยไลบรารี GNU Readline

ที่มา: opennet.ru

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